zoukankan      html  css  js  c++  java
  • 第5~8章知识汇总

    第五章 [BX]和loop指令

    • [BX]:bx是一个间接寻址单元,与[0]类似,它可以将一个内存单元的内容送入寄存器中,如mov ax,[bx],[bx]被看作偏移地址,默认的段地址为ds。寄存器如果用ax,则内存单元的长度为2,如果用al,则内存单元的长度为1。

    • loop:即循环,使用标号以及寄存器cx可以将程序进行循环操作,如

    mov cx,3
    s:add ax,1
    loop s
    

    即可认为s标记的指令被执行了3次

    • 嵌套循环可以用push和pop来保持外层的cx不被内部的cx干扰,如
    mov cx,3
    s:push cx
    add ax,3
    mov cx,2
    s1:sub ax,1
    loop s1
    pop cx
    loop s
    

    这就是嵌套循环,sub指令总共执行了6次

    第六章 包含多个段的程序

    • db:每个数据占一个字节单位

    • dw:每个数据占一个字单位即两个字节单位

    • 我们使用不同的段,可以将数据和程序分开存放,让程序更加整洁,并且解决了程序一个段所需空间不能超过64kb的问题.

    • 同时要记住,一个段内的数据所占的空间为 ((N+15)/16)×16,且(N+15)/16取大于等于它的最小整数,原理如下

    在8086CPU架构上,段是以paragraph(16-byte)对齐的。程序默认以16字节为边界对齐,所以不足16字节的部分数据也要填够16字节。“对齐”是alignment,这种填充叫做padding。16字节成一小段,称为节

    第七章 更灵活的定位内存地址的方法

    两个指令

    and;逻辑与,同为1则为1
    or;逻辑或,有1则为1
    
    • 大小写转化,大写小写ASCII相差20h,即32,大写转小写加上32,小写转大写加上32

    • 与bx功能相近寄存器:si,di

    • idata:表示常量

    • 内存单元可以用[bx+idata]、[bx+si]、[bc+si+idata]等方式表示。

    第八章 数据处理的两个基本问题

    • 与bx功能相近的寄存器:si、di、bp

    • div指令:除法运算

    • 除数:有8位和16位两种,在一个reg或内存单元中。

    • 被除数:默认放在ax或dx和ax中,如果除数为8位,被除数则为16位,默认放在ax寄存器中;如果除数为16位,被除数则为32位,在dx和ax中存放,dx放高16位、ax放低16位

  • 相关阅读:
    作业16
    递归函数
    三元表达式与生成式
    迭代器与生成器
    作业15
    装饰器
    作业14
    string的入门与进阶
    修理牧场(优先队列)
    旅游规划
  • 原文地址:https://www.cnblogs.com/-Anguvia-/p/10154586.html
Copyright © 2011-2022 走看看