汇编从入门到入土六
mul和div
mul指令
- 两个相乘的数,如果都为8位,其中一个默认存放在AL,另一个放在8位寄存器或者内存字节单元中,结果是16位的,默认存放在AX中
- 两个相乘的数,如果都为16位,其中一个默认存放在AX,另一个放在16位寄存器或者内存字单元中,结果是32位的,高位默认存放在DX中,低位存放在AX中
div指令
- 除数有8位和16位,存放在reg或者内存单元
- 除数为8位,被除数为16位,被除数默认存放在AX中。除数为16位,被除数为32位,被除数高位存放在DX中,低位存放在AX中
- 结果,除数为8位,商存储在AL,余数存储在AH。除数为16位,商存储在AX,余数存储在DX
实验九 打印
打印helloworld
尤其要注意 mov al, [bp],这里是取出
assume cs:code
data segment
db 'Hello World'
db 24h
dw 1824
data ends
code segment
start:
mov ax,data
mov ds,ax
mov ax, 0b800h
mov es, ax
mov si,0
mov di,0
mov bx, ds:[12]
mov bp, ds:[11]
mov cx, 11
s:
mov al, ds:[si]
mov es:[bx+di], al
mov al, [bp]
mov es:[bx+di+1], al
inc si
add di,2
loop s
mov ax,4c00h
int 21h
code ends
end start