文章归档 - 2021年06月
由源程序到程序运行

1、由写出源程序到执行可执行文件的过程2、编译assumecs:codesg codesgsegment movax,0123H movbx,0456H addax,bx addax,ax movax,4c00H int21H codesgends end目标文件(*.OBJ......

 
  2021-06-20 11:49:04
1,733
浏览
0
喜欢
 
2
评论
0
订阅
用汇编语言写的源程序

1、用汇编语言编写程序汇编程序:包含汇编指令和伪指令的文本伪指令没有对应的机器码的指令,最终不被CPU所 执行。谁来执行伪指令呢?伪指令是由编译器来执行的指令,编译器根据伪指令来进行相关的编译工作。程序返回:程序结束运行后,将 CPU的控制权交还给使它得以运行的程序 (常为DOS系统)。2、程序中的......

 
  2021-06-17 23:01:01
1,786
浏览
1
喜欢
 
0
评论
0
订阅
关于“段”的总结

1、各种段基础物理地址=段地址×16+偏移地址做法编程时,可以根据需要将一组内存单元定义为一个段。可以将起始地址为16的倍数,长度为 N(N ≤64K )的一组地址连续的内存 单元,定义为一个段。将一段内存定义为一个段,用一个段 地址指示段,用偏移地址访问段内的 单元——在程序中可以完全由程序员 安......

 
  2021-06-17 00:09:02
1,549
浏览
0
喜欢
 
0
评论
0
订阅
栈及栈操作的实现

1、栈结构栈是一种只能在一端进行插入或删除操作的数据结构。栈有两个基本的操作:入栈和出栈。入栈:将一个新的元素放到栈顶;出栈:从栈顶取出一个元素。栈顶的元素总是最后入栈,需要出栈时,又最先被从栈中取出。栈的操作规则:LIFO(Last In First Out,后进先出)CPU提供的栈机制现今的CP......

 
  2021-06-16 23:53:33
2,114
浏览
0
喜欢
 
0
评论
0
订阅
DS与数据段

1、对内存单元中数据的访问对于8086PC机,可以根据需要将一组内存单元定义为一个段。物理地址=段地址×16+偏移地址 ;将一组长度为N(N≤64K)、地址连续、起始地址为16的倍数的内存单元当作专门存储数 据的内存空间,从而定义了一个数据段。例:用123B0H~123B9H的空间来存放数据段地址:......

 
  2021-06-08 22:40:44
2,820
浏览
1
喜欢
 
0
评论
0
订阅
用DS和[address]实现字的传送

1、要解决的问题:CPU从内存单元中要读取数据要求:CPU要读取一个内存单元的时候,必须先给出这个内存单元的地址;原理:在8086PC中,内存地址由段地址和偏移地址组成(段地址:偏移地址)解决方案:DS和[address]配合 ; 用 DS寄存器存放要访问的数据的段地址 ; 偏移地址用[...]形式......

 
  2021-06-07 23:05:14
1,839
浏览
0
喜欢
 
0
评论
0
订阅
内存中字的存储

1、内存中字的存储事实:对8086CPU,16位作为一个字问题 ; 16位的字存储在一个16位的寄存器中,如何存储?回答 ; 高8位放高字节,低8位放低字节问题 ; 16位的字在内存中需要2个连续字节存储,怎么存放?回答 ; 低位字节存在低地址单元,高位字节存在高地址单元 ;例:20000D(4E2......

 
  2021-06-01 20:46:45
1,835
浏览
1
喜欢
 
0
评论
0
订阅
jmp指令

1、修改CS、IP的指令事实:执行何处的指令,取决于CS:IP应用:可以通过改变CS、IP中的内容,来控制CPU要执行的目标指令问题:如何改变CS、IP的值?方法1:Debug 中的 R 命令可以改变寄存器的值——rcs, ripDebug是调试手段,并非程序方式!方法2:用指令修改方法3:转移指令......

 
  2021-06-01 20:17:03
3,216
浏览
0
喜欢
 
0
评论
0
订阅