assume cs:code,ds:data
data segment
table db '0123456789ABCDEF' ;16進制的直接定址表
data ends
code segment
start:
mov ax,data ;將data段與ds關聯
mov ds,ax
mov si,0
mov ax,2Bh ;輸入要輸出到屏幕的數值,類似數值轉字符n2c
call showword
mov ax,4c00h
int 21h
showword:
push bx
push es
mov ah,al
mov cl,4
shr ah,cl ;右移四次
and al,00001111b;保護al數據
mov bl,ah
mov bh,0
mov ah,table[bx]
mov bl,al
mov al,table[bx]
push ax ;爲保護ax中的數據,將其壓棧
mov ax,0b800h
mov es,ax
pop ax ;出棧ax數據,使其正常傳送到顯存區
mov es:[160*12+40*2],ah
mov es:[160*12+40*2+2],al
pop es
pop bx
ret
code ends
end start
直接定址表 輸入0-FF之間的數據,並輸出到屏幕上
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.