組合語言 10進製相加,16進製制相加及中斷顯示

2021-08-19 21:51:18 字數 1695 閱讀 5307

我把注釋寫在**裡,方便理解

兩個10進製相加

.model small

.stack 64

.data

d1 db 56h,78h

d2 db '56+78=$'

d3 db ?

.code

mov ax,@data

mov ds,ax

lea si,d1

lea di,d3

;顯示字串 ds:dx

lea dx,d2

mov ah,9

int21h

mov al,[si]

add al,[si+1]

daamov byte ptr[di],al

;進製顯示

mov al,0

adc al,0

or al,30h

mov dl,al

mov ah,2

int21h

;顯示十位數

mov al,[di]

mov cl,4

rol al,cl

and al,0fh

or al,30h

mov dl,al

mov ah,2

int21h

;顯示個位數

mov al,[di]

and al,0fh

or al,30h

mov dl,al

mov ah,2

int21h

;停止

mov ah,4ch

int21hend

兩個16進製制相加

.model small

.stack 64

.data

d1 db 9ah,0abh

d2 db ?

d3 db '9ah+0abh=$'

d4 db '0123456789abcdef'

.code

mov ax, @data

mov ds, ax

;顯示初始字串

mov ah, 9

lea dx, d3

int21h lea bx, d4

;顯示進製數

mov al,d1

add al,d1+1

mov d2,al

mov al,0

adc al,0

;or al,30h

;查表xlat

mov dl,al

mov ah,2

int21h

;顯示十位數

mov al,byte ptr d2

mov cl,4

ror al,cl

and al,0fh

;or al,30h

xlat

mov dl,al

mov ah,2

int21h

;顯示個位數

mov al,byte ptr d2

and al,0fh

xlat

mov dl,al

mov ah,2

int21h

;補上16進製制的h

mov dl,'h'

mov ah,2

int21h

mov ah,4ch

int21h end

2進製 10進製 16進製制

1.介紹 2進製 用兩個阿拉伯數字表示,0 1 10進製 用十個阿拉伯數字表示,0到9 0 1 2 3 4 5 6 7 8 9 16進製制 0到9 0 1 2 3 4 5 6 7 8 9 a到f a,b,c,d,e,f 16進製制說明 這五個字母來分別表示10,11,12,13,14,15 字母不區...

組合語言 簡單的16位二進位制相加程式

這可以說是第乙個我自己寫的匯程式設計序,雖然很短。功能很簡單,實現兩個16位二進位制數相加即可。下面是實現功能的相應 dseg segment data 1 dw data 2 dw dseg ends sseg segment stack top ptr db 20 dup 0 sseg ends...

16進製制轉10

請設計程式實現如下功能 從鍵盤輸入乙個不超過8位的正的十六進製制數字串,將它轉換為正的十進位制數後輸出。注 十六進製制數中的10 15分別用大寫的英文本母a b c d e f表示。樣例輸入 ffff 樣例輸出 65535 include include include using namespac...