assume cs:codesg
data segment
db 'welcome to masm!'
data ends
codesg segment
start:
mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov cx,10h
mov si,0h
mov di,0h
s:
mov bx,0h;找不到中间位置,只能用bx来代替了,郁闷中。
mov ah,02h
mov al,ds:[si]
mov es:[bx+40h+di],ax
add bx,0a0h
mov ah,24h
mov al,ds:[si]
mov es:[bx+40h+di],ax
add bx,0a0h
mov ah,71h
mov al,ds:[si]
mov es:[bx+40h+di],ax
mov bx,0b40h
inc si
add di,2h
loop s
mov ax,4c00h
int 21h
codesg ends
end start
感觉这个实验没能很好的总结前面的知识,因为jmp和jcxz这些指令都用不上,要不就是用在这里面比较便扭。不知c中的if、 else if的语句在汇编里面是咋整的? |