请问汇编语言怎么输出寄存器中的数
如题,谢谢 输出到屏幕?还是。。。 assume cs:code, ss:stackstack segment
db 100 dup(?)
stack ends
code segment
;显示十六进制数到屏幕
;void show_hex(word data);
show_hex:
push bp
mov bp, sp
;sub sp, 10h
push ax
push cx
push bx
push dx
mov ax, 0b800h
mov es, ax
xor si, si ;es:si -> 当前显示位置
mov ax, ;mov ax, data
mov cx, 4
show_hex_s:
mov bx, ax
and bx, 0f000h
push cx
mov cl, 12
shr bx, cl
pop cx
cmp bx, 0ah
jl show_hex_less_a
sub bx, 0ah
add bx, 'A'
jmp show_hex_less_n
show_hex_less_a:
add bx, '0'
show_hex_less_n:
push ax
;输出bl中的字符
mov ah, 0eh
mov al, bl
int 10h
pop ax
push cx
mov cl, 4
shl ax, cl
pop cx
loop show_hex_s
pop dx
pop bx
pop cx
pop ax
mov sp, bp
pop bp
ret
start:
mov ax, stack
mov ss, ax
mov sp, 100
mov cx, 0ffffh
s:
;显示cx中的值
push cx
call show_hex
add sp, 2
;输出空格
push ax
mov ah, 0eh
mov al, ' '
int 10h
loop s
mov ax,4c00h
int 21h
code ends
end start
{:9_226:} {:5_105:} {:5_106:} ... {:9_231:} 这么久了鱼币还没有领完{:10_250:}
页:
[1]