看了8086两遍了 掌握的却不扎实,还要回头看。这次要扎实。、
assume cs:codesg
codesg segment
mov ax,0123h
mov bx,0456h
add ax,bx
add ax,bx
mov ax,4c00h
int 21h
codesg ends
end
伪指令:
1.
xxx segment
xxx ends
用来声明段
2.end
是一个汇编程序的结束标记
3.assume 讲有特定用途的段和相关的段寄存器关联起来
汇编指令时有对应机器码的指令,可以被编译为机器指令,最终为CPU执行,而伪指令又编译器来执行。
dos系统中.exe文件中的程序加载过程、
1.找到一段其实地址为 SA:0000 的容量足够的空闲内存区
2.在这段内存区前256个字节中,创建一个成为前缀PSP的数据区,DOS要利用PSP来和被加载程序进行通信
3.从这段内存区的256字节处开始(psp后面)将程序装入,程序的地址为sa+10h:0
(空闲内存区:SA:0 PSP区:SA:0 程序区 SA+10h:0)
4.将内存区的段地址放入ds中,设置cs ip 指向程序的入口