汇编语言编程,小妹求救。

来源:百度知道 编辑:UC知道 时间:2024/05/06 11:20:01
(1)求字符串长度,要求从第一个非空格字符开始计算长度,字符串以‘#’结束。
(2)在CRT上连续显示字符0-9.
(3)BCD码转换为二进制,若有一个16位储存单元,存放4位BCD数,要把它转化为二进制,放入另一单元。
这是老师给我的题目,希望各位帮我解答下,小妹在此谢过了,最好能有对指令的解释……

1.该程序的字符串一定要以#字符结束,否则将进入死循环
data segment
dat db 'sfsfsfsfsggg#'
s1 db 0
data ends
code segment
assume cs:code,ds:data
begin:
mov ax,data
mov ds,ax
lea si,dat
mov cx,0
mov al,[si]
cmp al,20h
jz last
lp: mov al,[si]
cmp al,'#'
jz last
inc si
inc cx
jmp lp
last: mov s1,cl
mov ah,4ch
int 21h
code ends
end begin
2.
data segment
dat db '0123456789','$'
data ends
code segment
assume cs:code,ds:data
begin:
mov ax,data
mov ds,ax
lea dx,dat
mov ah,09h
int 21h
mov ah,4ch
int 21h
code ends
end begin
3.
data segment
dat dw 1234h
s0 dw 1000,100,10,1
s1 dw 0
s2 dw 0,0,0,0
data ends
code segment