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

来源:百度知道 编辑:UC知道 时间:2024/07/07 17:16:25
1.编写子程序Ins char,在字符串string中某位置插入两字符,入口:DS:SI中存放的是要插入的位置(相对于串首址).DX中存放要插入的两字符.给出程序.
2.将内存中X值(无符号16bit整数)以十进制显示在屏幕上.给出程序.

万分感谢!!!!!!!

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