匯程式設計序練習emu8086

2021-10-20 04:33:37 字數 1825 閱讀 2542

連續輸入三個字母(不限大小寫),將三個字母的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,...