第五章

Posted 101whw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第五章相关的知识,希望对你有一定的参考价值。

5.1,2

mov ax,[bx]表示将偏移地址和段地址分别在BX,DS的内存单元的内容放入ax中。

inc bx含义为bx内容加一。

loop指令格式:

    mov cx,11  (cx存储循环次数,每次循环后-1,为0时转到loop s后继续执行指令)

s:   add ax,ax    (循环执行的程序段)

    loop s    【效果相当于(ax)的12次方。】

 

5.3 在debug中跟踪用loop指令实现的循环程序:P103

重点:图5.8

可用g命令直接跟踪循环。

g 0012  意思为执行代码段到当前代码段的0012h处(段地址在cs中)

当希望将循环一次执行完时,用P命令完成,具体:遇到loop指令时,用p命令Debug自动重复执行循环的指令直到(cx)=0.

 

5.4Debug和汇编编译器masm对指令的不同处理

mov al,[0]  debug认为【0】为内存单元的偏移地址;masm解释为0。

解决:

mov ax,2000h

mov ds,ax     

mov bx,0      将内存单元地址赋给bx

mov al,[bx]   

或在内存地址单元的偏移地址前加上段地址所在寄存器如:

mov ax,2000h

mov ds,ax     

mov al,ds:0  --------(ds就是5.6中的段前缀)

 

5.5 loop,bx联合运用

  mov ax,0ffffh

  mov ds,ax

  mov bx,0  ds:bx指向ffff:0

 

  mov dx,0    (累加寄存器)

 

  mov cx,12

s:  mov al,[bx]

  mov ah,0

  add dx,ax

  inc bx (bx)每次循环加一 

  loop s 

5.6参上

5.7

8086模式中,随意向一段内存地址写入内容很危险(可能存放重要的系统数据或代码),如果我们需要向内存空间写入数据时要使用操作系统分配的空间。(可以在操作系统下安全,规矩地编程,也可以自由地用汇编语言操作硬件)

DOS模式下,0:200~0:2ff没有系统或其他程序的数据或代码,我们可以使用这段空间。

5.8

参见P121程序5.9

 

 

   

 

以上是关于第五章的主要内容,如果未能解决你的问题,请参考以下文章

软件构造第五章第三节 可复用的设计模式

软件构造 第五章第一节 可复用性的度量形态和外部观察

JavaScript DOM编程艺术-学习笔记(第五章第六章)

《DOM Scripting》学习笔记-——第五章第六章 案列改进

华南理工大学 电力电子技术(王兆安) 期末复习笔记3 第五章第六章第七章

华南理工大学 电力电子技术(王兆安) 期末复习笔记3 第五章第六章第七章