導航:首頁 > 編程語言 > 100條以上的匯編語言程序

100條以上的匯編語言程序

發布時間:2023-10-19 08:29:28

❶ 100行的匯編語言程序

dat segment
data db 10 p(0)
input db 'input:$'
output db 'output:$'
enter db 0dh,0ah,'$'
dat ends

cod segment
assume ds:dat,cs:cod
;-----------------------主程序
start:
mov ax,dat
mov ds,ax ;數據段寄存器賦值

lea si,data ;SI指向DATA數組首單元
mov cl,4
ppp:
mov bx,0 ;BX清零

lea dx,input ;這三行調用INT 21H中斷常式的9號功能輸出DS:DX指向的字元串,以'$'結尾
mov ah,9 ;以下代碼若有類似的三句,實現功能類似
int 21h ;顯示輸入提示

;-----------------------開始輸入十六進制數
get:
mov ah,1 ;這兩行調用INT 21H中斷常式1號功能,等待用戶輸入一個字元,保存入AL中
int 21h

;以下6對代碼依次比較輸入字元,並跳轉到相應操作
cmp al,'*'
jz kkk ;輸入'*'號,退出程序

cmp al,0dh ;0DH是回車鍵對應的字元
jz mess ;輸入回車,跳出get循環(get循環:實現輸入十六進制數並保存到BX的功能)

cmp al,30h ;這4行判斷是否是'0'~'9'
jb get

cmp al,39h
jbe num

cmp al,'A' ;這4行判斷是否是'A'~'F'
jb get

cmp al,'F'
jbe big

cmp al,'a' ;這4行判斷是否是'a'~'f'
jb get

cmp al,'f'
jbe big

jmp get

num: ;對數字進行處理
and al,0fh ;al高4位清零,保留低4位
jmp next

big: ;對大寫字母或者小寫字母進行處理
sub al,7
and al,0fh

next:
shl bx,cl ;BX左移4位
add bl,al ;將數字保存到BL的低4位中
jmp get
;-----------------------
mess:
lea dx,enter
mov ah,9
int 21h ;回車、換行

lea dx,output
mov ah,9
int 21h ;顯示輸出提示

mov dx,0
mov ax,bx
mov bx,10 ;進制數
again:
call buf
cmp ax,0 ;商如果為0,表示該十六進制數對應的十進制數的每一個數位的值都存入了DATA數組
jnz again

mov ah,2 ;INT 21H的2號功能:將DL中保存的ASCII碼對應的字元輸出
ttt:
dec si
mov dl,[si] ;取數據
int 21h ;顯示

cmp si,0
jnz ttt ;判斷是否取完DATA數組的所有元素,來控制循環

lea dx,enter
mov ah,9
int 21h ;回車、換行

jmp ppp ;開始下一輪輸入、轉換和輸出
kkk:
mov ah,4ch ;退出程序的操作
int 21h
;--------------------子程序
;傳入參數:BX,進制數10;DX、AX,表示一個32位16進制數
;返回值:AX
;功能:
;1. 將DX、AX表示的16進制數除以10,得到余數(余數在0~9之間,即對應十進制無符號數的個位數字)
;2. 將其轉換為對應字元的ASCII碼(即1轉換為'1'),並保存到SI指向的DATA數組元素的位置
;3. SI指向DATA數組的下一個元素
buf proc
div bx
add dl,30h
mov [si],dl
mov dl,0
inc si
ret
buf endp

cod ends
end start

;總結:這段程序實現的功能
;1. 十六進制輸入一個數,輸入回車表示輸入結束,輸入'*'表示退出程序,保存到寄存器中
;2. 十六進制數轉換為十進制無符號數,使用了類似於棧的操作的方法
;3. 十進制無符號數轉換為對應字元的ASCII碼(2和3由子程序buf完成)
;4. ASCII碼對應字元的輸出的功能

❷ 100條匯編語言編一個程序

請到我的博客隨便找一個吧!

閱讀全文

與100條以上的匯編語言程序相關的資料

熱點內容
油卡盒子APP是什麼公司名下的 瀏覽:597
怪物獵人wp文件夾什麼意思 瀏覽:108
設置密碼的pdf文件如何轉換成word 瀏覽:876
多個文件合並到一起後叫什麼 瀏覽:387
資料庫位是什麼意思 瀏覽:104
如何改變手機上的網路連接 瀏覽:908
某網站圖片侵權如何舉報 瀏覽:820
zemax宏編程有什麼用 瀏覽:874
做保函為什麼要獲取招標文件 瀏覽:921
魔獸世界數據是哪個文件夾 瀏覽:439
oppor9s手機系統升級 瀏覽:728
文件上傳ie8 瀏覽:619
cleanmymac恢復文件 瀏覽:241
win10裝虛擬機沒有網路 瀏覽:283
安排什麼意思網路語言 瀏覽:837
順豐常州寄份文件到廣州多少錢 瀏覽:73
wow110掛機升級 瀏覽:967
請問有什麼app可以壓縮視頻 瀏覽:195
凱美瑞藍牙連接不了蘋果手機啊 瀏覽:923
手機無法搜索到網路列印機驅動 瀏覽:411

友情鏈接