輸入和顯示字串 在上以彙編部落格中已經寫到
輸入 ah = 01h al 存放 輸入的字元
輸出 ah = 02 h dl 存放輸出的字元
因此關鍵** :是
mov ah , 01h
int 21h
mov [char], al
mov dl, [char]
mov ah , 02h
int 21h
由上可以知道完整** 應該是 :
datas segment
char dw ?; 定義char 為db 型別 但是不賦值
datas ends
stacks segment
db 256 dup(?);申請 256 個位元組空間
stacks ends
codes segment
assume cs:codes,ds:datas,ss:stacks
start:
mov ax,datas
mov ds,ax
;**初始化
mov ah ,01h; 輸入乙個字元 並且回顯到螢幕上 輸入的字串儲存在 al 中
int 21h
mov [char] , al
mov dl , [char] ; 顯示乙個字元 該字元在 dl 中
mov ah , 02h;
int 21h
mov ah , 07h ;
int 21h
mov dl,al;
mov ah , 02h;
int 21h;
mov ah,4ch
int 21h
codes ends
end start
上面還有一些問題 。。。。 關於字串呼叫
int 21h 詳解_字元功能呼叫類(character-oriented function)
01h、07h和08h —從標準輸入裝置輸入字元
02h —字元輸出
03h —輔助裝置的輸入
04h —輔助裝置的輸出
05h —列印輸出
06h —控制台輸入/輸出
09h —顯示字串
0ah — 鍵盤緩衝輸入
0bh —檢測輸入狀態
0ch —清輸入緩衝區的輸入功能
(1)、功能01h、07h和08h
功能描述:從標準輸入裝置(如:鍵盤)讀入乙個字元。該中斷在處理過程中
將一直處於等待狀態直到有字元可讀為止。該輸入還可被重定向,如果這樣
做,則無法判斷檔案是否已到檔案尾
入口引數:ah=01h,過濾掉控制字元,並回顯
=07h,不過濾掉控制字元,不回顯
=08h,過濾掉控制字元,不回顯
出口引數:al=輸入字元的ascii碼
(2)、功能02h
功能描述:向標準輸出裝置(如:螢幕)輸出乙個字元。該輸出還可被重定向,
如果這樣做,則將無法判斷磁碟是否滿
入口引數:ah=02h
dl=待輸出字元的ascii碼
出口引數:無
(3)、功能03h
功能描述:從輔助裝置讀入乙個字元,該輔助裝置的預設值為com1
入口引數:ah=03h
出口引數:al=讀入字元的ascii碼
(4)、功能04h
功能描述:向輔助裝置輸出乙個字元,該輔助裝置的預設值為com1
入口引數:ah=04h
dl=待輸出字元的ascii碼
出口引數:無
(5)、功能05h
功能描述:向標準的輸出裝置輸出乙個字元。該預設的輸出裝置為lpt1埠
的印表機,除非用mode命令來改變
入口引數:ah=05h
dl=待輸出字元的ascii碼
出口引數:無
(6)、功能06h
功能描述:控制台(如:鍵盤、螢幕)輸入/輸出。如果輸入/輸出操作被重定向,
那麼,將無法判斷檔案是否已到檔案尾,或磁碟已滿
入口引數:ah=06h,dl=輸入/輸出功能選擇
出口引數:若dl=00h-feh,則此功能為輸出,dl為待輸出字元的ascii碼;
若dl=0ffh,則此功能為輸入,此時:若zf=1,則無字元可讀,否則,
al=讀入字元的ascii碼
(7)、功能09h
功能描述:輸出乙個字串到標準輸出裝置上。如果輸出操作被重定向,那麼,
將無法判斷磁碟已滿
入口引數:ah=09h
ds:dx=待輸出字元的位址
說明:待顯示的字串以』$』作為其結束標誌
出口引數:無
(8)、功能0ah
功能描述:從標準輸入裝置上讀入乙個位元組字串,遇到「回車鍵」結束輸入
(輸入的字元在標準的輸出裝置上有回顯)。如果該輸入操作被重定向,那麼,
將無法判斷檔案是否已到檔案尾
入口引數:ah=0ah
ds:dx=存放輸入字元的起始位址
接受輸入字串緩衝區的定義說明:
1、第乙個位元組為緩衝區的最大容量,可認為是入口引數;
2、第二個位元組為實際輸入的字元數(不包括回車鍵),可看作出口引數;
3、從第三個位元組開始存放實際輸入的字串;
4、字串以回車鍵結束,回車符是接受的最後乙個字元;
5、若輸入的字元數超過緩衝區的最大容量,則多出的部分被丟棄,系統並
發出響鈴,直到輸入「回車」鍵才結束輸入。
例如:buff 80, ?, 80 dup(?) ;最多接受80個字元
出口引數:無
(9)、功能0bh
功能描述:檢查標準輸入裝置上是否有字元可讀。該輸入操作可被重定向
入口引數:ah=0bh
出口引數:al=00h——無字元可讀;ffh——有字元可讀
(10)、功能0ch
功能描述:清空當前的標準輸入緩衝區,再讀入字元。其輸入操作可被重定向
入口引數:ah=0ch
al=01h、06h、07h、08h或0ah
出口引數:若入口引數al為0ah,則ds:dx=存放輸入字元的起始位址,否則,
出口引數al=輸入字元的ascii碼
組合語言學習
參考書籍 組合語言 王爽 著 清華大學出版社 選單導航 一 彙編基礎知識 二 暫存器和常見彙編指令演示 一 基礎知識 1 彙編指令是機器指令的助記符,同機器指令一一對應 2 每一種cpu都有自己的彙編指令集 3 cpu可以直接使用的資訊在儲存器中存放 4 在儲存器中指令和資料沒有任何區別,都是二進位...
組合語言學習
持續更新 彙編指令 1.mov指令 mov是乙個傳送指令,可以實現以下操作 有一點需要注意,資料不能直接傳給段暫存器,比如mov ds,100h就是錯誤的。但是可以將其他暫存器中的值賦給段暫存器。段暫存器有cs,ds,ss,es等。如果你想知道為什麼,那就可以去了解一下關於每條指令的硬體實現。後面還...
組合語言學習之組合語言源程式的輸入
在dos下輸入彙編源程式的方法 一 環境的搭建 二 熟悉debug的一些除錯指令 當顯示器顯示出提示符 時,說明已進入到debug狀態,此時,可以用debug命令列來操作 1.r 指令 用法 r 暫存器的名字 作用 用於檢視暫存器的值 register的首字母 或者修改暫存器的內容。當暫存器的名字省...