- [as555as] 感谢 scuzg 发表的评论,同时让我学到了一些书(汇编语言)上没有的东西!取反加1的的由来.其实 10/08 16:25
- [scuzg] “总结1”正确; 但“总结2”有几个问题: ①“取反加1”是对负数做求补的运算,对正数不适用。就 10/08 14:25
[2009-10-12 23:30] 检测点13.1-(2)
assume cs:code
data segment
db 'conversation',0
data ends
code segment
start:
call capital
mov ax,data
mov ds,ax
mov si,0
mov ax,0b800h
mov es,ax
mov di,12*160
s:
cmp byte ptr [si],0
je ok
mov al,[si]
mov byte ptr es:[di],al
inc si
add di,2
mov bx,offset s-offset ok
int 7ch
ok:
mov ax,4c00h
int 21h
capital:
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],200h
mov word ptr es:[7ch*4+2],0
mov ax,cs
mov ds,ax
mov si,offset do7ch
mov di,200h
mov cx,offset do7chend - offset do7ch
cld
rep movsb
ret
do7ch:
pop ax
add ax,bx
push ax
iret
do7chend:
nop
code ends
end start
data segment
db 'conversation',0
data ends
code segment
start:
call capital
mov ax,data
mov ds,ax
mov si,0
mov ax,0b800h
mov es,ax
mov di,12*160
s:
cmp byte ptr [si],0
je ok
mov al,[si]
mov byte ptr es:[di],al
inc si
add di,2
mov bx,offset s-offset ok
int 7ch
ok:
mov ax,4c00h
int 21h
capital:
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],200h
mov word ptr es:[7ch*4+2],0
mov ax,cs
mov ds,ax
mov si,offset do7ch
mov di,200h
mov cx,offset do7chend - offset do7ch
cld
rep movsb
ret
do7ch:
pop ax
add ax,bx
push ax
iret
do7chend:
nop
code ends
end start
评论次数(0) |
浏览次数(404) |
类型(汇编作业) |
收藏此文 |