汇编从入门到入土六

  1. mul和div
  2. 实验九 打印

mul和div

mul指令

  1. 两个相乘的数,如果都为8位,其中一个默认存放在AL,另一个放在8位寄存器或者内存字节单元中,结果是16位的,默认存放在AX中
  2. 两个相乘的数,如果都为16位,其中一个默认存放在AX,另一个放在16位寄存器或者内存字单元中,结果是32位的,高位默认存放在DX中,低位存放在AX中

div指令

  1. 除数有8位和16位,存放在reg或者内存单元
  2. 除数为8位,被除数为16位,被除数默认存放在AX中。除数为16位,被除数为32位,被除数高位存放在DX中,低位存放在AX中
  3. 结果,除数为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

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论

文章标题:汇编从入门到入土六

文章字数:327

本文作者:prontosil

发布时间:2020-04-20, 09:23:24

最后更新:2020-04-22, 10:59:53

原始链接:http://prontosil.com/posts/79b4f583/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录