现在的位置: 首页 > 综合 > 正文

汇编语言之数据处理的两个基本问题

2013年02月19日 ⁄ 综合 ⁄ 共 1147字 ⁄ 字号 评论关闭

 

第八章  数据处理的两个基本问题
8.1.1 两个基本问题:
·    处理的数据在什么地方
·    要处理的数据有多长
8.1.2 reg——一个寄存器
      sreg——一个段寄存器
8.1.3 关于bxsidibp
·    8086CPU中,只有这4个寄存器可以用在“[]”中来进行内存单元的寻址
·    []中,这4个寄存器可以单个出现,或只能以4
种组合出现:bxsibxdibpsibpdi
·    只要在[]中使用寄存器bp,而指令中没有显性地给                 出段地址,段地址默认就在ss中。
8.2.1 机器指令大致可分为三类:读取、写入、运算
      指令执行前,要处理的数据可以在CPU内部、内存、端口。
8.3.1 立即数执行前在CPU的指令缓冲器中;
8.4.1 (内存)寻址方式:
        直接寻址
                寄存器间接寻址
          基址变址寻址
          相对基址变址寻址
8.5.1 在没有寄存器名存在的情况下,用操作符X ptr指明内存单元的长度,X在汇编指令中可以为wordbyte 
eg mov word ptr ds:[0], 1
      intc word ptr [bx]
      inc   word ptr ds:[0]
      add word ptr [bx], 2
 
      mov byte ptr ds:[0], 1
      inc   byte ptr [bx]
      inc   byte ptr ds:[0]
      add byte ptr [bx], 2
8.7.1 div指令
1除数:有8位和16位两种,在一个寄存器或内存单元中;
2被除数:默认放在AXDXAX中,如果除数为8位,被除数为16位,默认在AX中存放;如果除数为16位,被除数为32位,在DXAX中存放,DX存放高16位,AX存放低16位;
3结果:如果除数为8位,则AL存储除法操作的商,AH存储除法操作的余数;如果除数为16位,则AX存储除法操作的商,DX存储除法操作的余数。
8.8.1 伪指令 db——定义字节型数据
              dw——定义字型数据
              dd——定义双字型数据
8.9.1 dup——数据的重复
      db 重复的次数 dup(重复的字节型数据)
      dw重复的次数 dup(重复的字型数据)
      dd 重复的次数 dup(重复的双字数据)
 eg db 3 dup (0)    db 0,0,0
      dw 3 dup (0,1,2) dw 0,1,2,0,1,2,0,1,2
      dd 3 dup (‘abc’,’ABC’) db ‘abcABCabcABCabcABC’
 
 

抱歉!评论已关闭.