毕业补考~两道汇编编程题~高手救命!!!!!!!!!!!!!!

2024-12-30 12:33:00
推荐回答(1个)
回答1:

1.同是天涯沦落人啊,可惜分太少了,但还是要互相帮助的,这是我自己编的程序
data segment
string db "abcdefg$"
data ends

sseg segment
db 80h dup(?)
sseg ends

code segment
assume ds:data,cs:code,ss:sseg

start:
mov ax,data
mov ds,ax
mov si,3
mov dx,4142h
call inschar
mov ah,4ch
int 21h ;以上的都是废话,下面才是要的程序

inschar proc near

lea di,string
again:
cmp byte ptr [di],'$'
jz next1
inc di
jmp again ;利用字符串以‘$'结尾,求长度

next1:
mov bl,[di]
mov [di+2],bl
dec di
cmp di,si
jz jout
jmp next1
jout: mov [si+2],dh
mov [si+1],dl
ret

code ends
end start
这是一个调用的例子,里面INSCHAR PROC NEAR 到RET 就是所求子程序
回答者:我只会汇编 - 助理 二级 7-8 10:49
2。data segment
hex dw 4142h
data1 db 3 dup(?)
data ends

code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax

mov ax,hex
mov bp,10
xor bx,bx
mov ch,4
mov cl,4
retry: shr bx,cl
mov dx,0
div bp
ror dx,cl
or bx,dx
dec ch
jnz retry
mov word ptr data1+1,bx ;将转换后的数放到内存中
mov byte ptr data1,al

mov ah,4ch
int 21h
code ends
end start
哈哈,好了,不明白可以发信息问我