主题:请高手帮忙写一个简单程序
waixin
[专家分:70] 发布于 2006-12-31 12:28:00
编写一个完整的汇编程序,将内存中的X值(一个无符号整数),以十进制形式显示在屏幕上
必给分
最后更新于:2007-01-01 10:01:00
回复列表 (共3个回复)
沙发
def [专家分:3380] 发布于 2007-02-10 15:28:00
code segment
assume cs:code
org 100h
start:
jmp install
x dw 3272; 你要显示的数
tmp db 5 dup(0)
result db 6 dup(0)
install:
mov ax,x
mov bx,10
mov cx,5
lea di,tmp[4]
std
loop1start:
sub dx,dx
div bx
xchg ax,dx
stosb
xchg ax,dx
loop loop1start
lea si,tmp
mov cx,5
cld
loop2start:
lodsb
or al,al
jnz loop2end
loop loop2start
loop2end:
dec si
lea di,result
loop3start:
lodsb
add al,30h
stosb
loop loop3start
mov al,24h
stosb
mov ah,9
lea dx,result
int 21h
int 20h
code ends
end start
板凳
ccpp [专家分:9360] 发布于 2007-02-12 20:05:00
title getbx (com文件)
.model tiny
.code
org 100h
;---------------------
start:
mov bx,123 ;要显示的数X = 123
mov dx,0 ;装入
mov ax,bx ;被除数
lea si,sss ;
mov cx,1
mov bx,10 ;装入除数
@10:
cmp ax,10;小于10
jb @20
xor dx,dx ;异或清0 ,等价;mov dx,0
div bx ;除以10后取余数
or dl,030h ;余数变成对应的 ASC2 码
mov [si],dl ;保存ASC2 码
inc si
inc cx
jmp @10
@20:
or al,030h
mov [si],al
@30:
mov ah,02h ;反向逐个
mov dl,[si] ;显示被保存的ASC2 码
int 21h
dec si
loop @30
.exit
sss db 5 dup(?)
end start
3 楼
def [专家分:3380] 发布于 2007-02-25 12:29:00
请给分!
测试过,完全正确!
我来回复