zoukankan      html  css  js  c++  java
  • 第8章 数据处理的两个基本问题 其二

    8.7  div指令

    div是除法指令,使用div做除法的时候:

    除数:8位或16位,在寄存器或内存单元中

    被除数:(默认)放在ax或dx和ax中

    结果:

    运算   8位  16位

    商    al    ax

    余数    ah    dx

    div指令格式:

    div   reg

    div   内存单元

    div  byte   ptr   ds:[0]

    含义为:al=ax/(ds*16+0)的商

        ah=ax/(ds*16+0)的余数

    div  word  ptr  es:[0]

    含义为:

    ax=(dx*10000H+ax)/(ds*16+0)的商

    dx=(dx*10000H+ax)/(ds*16+0)的余数

     

     利用除法指令计算100001/100.

    我们首先分析一下,被除数100001大于65535,不能用ax寄存器存放,所以我们要用dx和ax两个寄存器联合存放100001,也就是说要进行16位的除法。

    除数100小于255,可以在一个8位寄存器中存放,但是,因为被除数是32位的,除数应为16位,所以要用一个16位寄存器来存放除数100.

    因为要分别为dx和ax赋100001的高16位值和低16位值,所以应先将100001表示为十六进制形式:186A1H

    程序如下:

    mov  dx,1

    mov ax,86a1h;

    mov bx,100

    div bx

    利用除法指令计算1001/100.

    我们首先分析一下被除数1001可用ax寄存器存放,除数100可用8位寄存器存放,也就是说,要进行8位的除法。程序如下:

    mov ax,1001

    mov bl,100

    div bl

    程序执行后,al=0ah(商为10),ah=1(余数为1)

    8.8伪指令dd

    前面我们用db和dw定义字节型数据和字型数据。

    dd是用来定义dword(double  word  双字)型数据的。

    data  segment

    db 1

    dw 1

    dd 1

    data  ends

    在data段中定义了三个数据:

    第一个数据为01H,在data:0处,占1个字节;

    第二个数据为0001h,在data:1处,占1个字

    第三个数据为00000001h,在data:3处,占1个双字,两个字,4个字节。

    mov  ax,data

    mov ds,ax

    mov ax,ds:[0]

    mov dx,ds:[2]

    div word ptr ds:[4]

    mov ds:[6],ax

    8.9  dup

    dup是一个操作符,在汇编语言中同db、dw、dd等一样,也是由编译器识别处理的符号。

    它是和db、dw、dd等数据定义伪指令配合使用的,用来进行数据的重复。

    dup示例:

    db  3  dup(0)

    定义了3个字节,他们的值都是0,相当于  db   0,0,0

    db  3  dup(0,1,2)

    定义了9个字节,他们是0、1、2、0、1、2、0、1、2

    相当于  db  0,1,2,0,1,2,0,1,2

    db  3  dup('abc','ABC')

    定义了18个字节,他们是:

    ‘abcABCabcABCabcABC'

    可见,dup的使用格式如下:

    db   重复的次数  dup (重复的字节型数据)

    dw   重复的次数  dup   (重复的字型数据)

    dd    重复的次数  dup   (重复的双字数据)

  • 相关阅读:
    EPANET头文件解读系列4——EPANET2.H
    EPANET头文件解读系列3——TOOLKIT.H
    EPANET头文件解读系列2——ENUMSTXT.H
    EPANET头文件解读系列1——TEXT.H
    ENUMSTXT.H中的指针数组
    main函数的参数
    函数指针与指针函数
    FMDB源码阅读
    17个提升iOS开发效率的必用工具
    UIKit性能调优实战讲解
  • 原文地址:https://www.cnblogs.com/fate-/p/12926538.html
Copyright © 2011-2022 走看看