連續輸入三個字母(不限大小寫),將三個字母的ascii碼相加後將所得的結果以十六進製制數的形式顯示到螢幕上
data segment
buff db 200
db 0
db 200dup(0)
xle0 db 0
xle1 db 0
xle2 db 0
val1 db 0
val2 db 0
endd db 'the end$'
cf db 0dh,0ah,'$'
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
; set segment registers:
mov ax, data
mov ds, ax
mov es, ax
lop:cmp di,3
inc di
jnz lop1
jz ending
lop1:mov ah,1
int 21h
cmp al,2ch
jnz lett
lett:
cmp di,1
jz t1
cmp di,2
jz t2
cmp di,3
jmp t3
t1: mov xle0,al
jmp lop
t2: mov xle1,al
jmp lop
t3: mov xle2,al
lea dx,cf
mov ah,9
int 21h
jmp plus
plus:mov bx,0
add bl,xle0
add bl,xle1
add bl,xle2
jc gaowei
jnc diwei
gaowei2:add bl,37h
jmp diwei2
gaowei3:add cl,37h
jmp diwei3
diwei:
mov cl,bl
and bl,0fh
cmp bl,09h
ja gaowei2
add bl,30h
diwei2:
and cl,0f0h
sar cl,4
and cl,0fh
cmp cl,09h
ja gaowei3
add cl,30h
diwei3:
mov ah,2
mov dl,cl
int 21h
mov ah,2
mov dl,bl
int 21h
jmp ending
gaowei:mov bh,31h
mov ah,2 ;高8位,只有01h和00h兩種情況
mov dl,bh
int 21h
jmp diwei
ending:lea dx,cf
mov ah,9
int 21h
lea dx,endd
mov ah,9
int 21h
mov ax, 4c00h ; exit to operating system.
int 21h
ends
end start
emu8086學習彙編必備軟體
emu8086是學習彙編必不可少的工具,它結合了乙個先進的原始編輯器 彙編器 反彙編器 具除錯功能的軟體模擬工具 虛擬pc 還有乙個循序漸進的指導工具。該軟體包含了學習組合語言的全部內容。emu8086集源 編輯器,彙編 反彙編工具以及可以執行debug的模擬器 虛擬機器 於一身,此外,還有循序漸進...
匯程式設計序 退出
作為第乙個匯程式設計序,本程式除了退出以外,並沒有執行其他的功能。目的 退出並向linux核心返回乙個狀態碼的簡單程式 輸入 無 輸出 返回乙個狀態碼.在執行程式後可通過輸入echo 來讀取狀態碼 變數 eax儲存系統呼叫號 ebx儲存返回狀態 section data section text g...
微機匯程式設計序
又是自學的一學期,呵呵。學到最後也就知道零星半點指令吧,複雜的程式可能還是不怎麼會寫,熟練當然也不敵c了,但是彙編之於嵌入式,往上走肯定少不了遇到,學好還是必要的!此次僅作入門吧。今日所學,明日之用。1 統計正負零的個數 datas segment array db 1,2,1,0,2,0,2,4,...