
汇编语言
汇编语言入门
picktheshy
知乎:https://www.zhihu.com/people/xun-jiu-zuo-huan
展开
-
cmp和条件转移指令
cmp指令应用。原创 2022-10-19 18:55:15 · 229 阅读 · 0 评论 -
标志寄存器
标志寄存器的结构标志寄存器的作用直接访问标志寄存器的方法。原创 2022-10-16 21:23:21 · 906 阅读 · 0 评论 -
寄存器冲突的问题
【代码】寄存器冲突的问题。原创 2022-10-16 12:27:06 · 256 阅读 · 0 评论 -
汇编语言的模块化程序设计
原理:由调用者将需要传递给子程序的参数压入栈中,子程序从栈中取得参数。任务∶计算( a-b )^3 ,a、b为word 型数据。例∶设a=3b-1,计算:(a-b)^3。编程:将data段中的字符串转化为大写。问题:根据提供的N,计算N的3次方。原创 2022-10-16 11:43:49 · 212 阅读 · 0 评论 -
call指令和ret指令
call标号类似"jmp near ptr 标号”,对应的机器指令中为相对于当前IP的。指令“call far ptr 标号”实现的是段间转移!CPU执行“call far ptr标号”时的操作。,**而不是转移的目的地址,**实现段内转移。CPU执行call指令,进行两步操作∶。"call far ptr标号”相当于。(IP)=标号所在的偏移地址。jmp far ptr 标号。(CS)=标号所在的段地址。字面意思:调用子程序。原创 2022-10-15 12:09:52 · 432 阅读 · 0 评论 -
其他转移指令
指令格式:jcxz 标号功能:如果(cx)=0,则转移到标号处执行当(cx)!=0时,什么也不做(程序向下执行)jcxz是有条件转移指令。原创 2022-10-13 15:52:47 · 69 阅读 · 0 评论 -
jmp指令2
在源程序中,不允许使用“jmp 2000:0100”的转移指令实现段间转移·这是在Debug中使用的汇编指令,汇编编译器并不认识。近转移:指令"jmp near ptr标号”短转移:“jmp short 标号”如果在源程序中使用,编译时也会报错。远转移jmp far ptr标号。原创 2022-10-13 15:02:33 · 1031 阅读 · 0 评论 -
操作符offset
【代码】操作符offset。原创 2022-10-12 21:03:11 · 127 阅读 · 0 评论 -
“转移综述
背景:一般情况下指令是顺序地逐条执行的,而在实际中,常需要改变程序的执行流程.原创 2022-10-12 19:10:05 · 60 阅读 · 0 评论 -
用dup设置内存空间
【代码】用dup设置内存空间。原创 2022-10-12 18:47:46 · 285 阅读 · 0 评论 -
用div指令实现除法
切记提前在默认的寄存器中设置好被除数,且默认寄存器不作别的用处。原创 2022-10-12 18:25:05 · 1090 阅读 · 0 评论 -
在哪里,有多长
立即数(idata )对于直接包含在机器指令中的数据,称为立即数( idata ),数据包含在指令中寄存器指令要处理的数据在寄存器中,在汇编指令中给出相应的寄存器名。内存:段地址(SA)和偏移地址(EA)指令要处理的数据在内存中,由SA:EA确定内存单元。原创 2022-10-09 21:28:47 · 98 阅读 · 0 评论 -
用于内存寻址的寄存器
【代码】用于内存寻址的寄存器。原创 2022-10-09 20:39:45 · 374 阅读 · 0 评论 -
不同寻址方式的灵活运用
【代码】不同寻址方式的灵活运用。原创 2022-10-08 23:05:39 · 198 阅读 · 0 评论 -
[bx+si]和[bx+si+idata]方式寻址
bx+si]表示一个内存单元偏移地址为bx+si(即bx中的数值加上si中的数值)指令mova, bx+si的含义指令mov ax,[bx+si]的数学化的描述mov ax,[bx+si]的其他写法。原创 2022-10-08 21:59:16 · 193 阅读 · 0 评论 -
SI和DI寄存器
【代码】SI和DI寄存器。原创 2022-10-07 22:10:48 · 2582 阅读 · 0 评论 -
[bx+idata]的含义
bx+idata]表示一个内存单元g它的偏移地址为(bx)+idata ( bx中的数值加上idata )。mov ax,[bx+200]/ mov ax,[200+bx]的含义。问题:在codesg中填写代码,将datasg中定义的。指令mov ax,[bx+200]的其他写法(常用)原创 2022-10-07 21:23:00 · 318 阅读 · 0 评论 -
处理字符问题
【代码】处理字符问题。原创 2022-10-07 20:28:43 · 66 阅读 · 0 评论 -
将代码数据栈放入不同段
【代码】将代码数据栈放入不同段。原创 2022-10-04 23:20:36 · 73 阅读 · 0 评论 -
在代码段中使用栈
程序运行时,定义的数据存放在cs:0~cs:f单元中,共8个字单元。依次将这8个字单元中的。栈需要的内存空间,在程序中通过定义“空”数据来取得。数据入移,然后再依次出栈到这8个字。单元中,从而实现数据的逆序存放。程序的思路大致如下∶。原创 2022-10-04 12:34:39 · 141 阅读 · 0 评论 -
在代码段中使用数据
解决问题的关键:让数据从CS:0000开始,让代码从CS:0010开始!原创 2022-10-03 14:53:52 · 221 阅读 · 0 评论 -
段前缀的使用
Debug中,mov al,[0]的功能是——将Ds:0存储单元的值传给AL编译好的程序中,mov al,[0]变成了将常量0传给AL对策:在[idataj前显式地写上段寄存器。原创 2022-10-03 14:09:08 · 192 阅读 · 0 评论 -
loop指令
汇编语言入门原创 2022-10-03 11:19:36 · 2031 阅读 · 0 评论 -
汇编语言中的[...]和(...)
汇编语言入门原创 2022-10-02 23:27:26 · 674 阅读 · 0 评论 -
用Debug跟踪程序的执行
汇编语言入门原创 2022-10-01 23:25:57 · 275 阅读 · 0 评论 -
确定物理地址的方法
8086CPU确定物理地址的方法原创 2022-09-27 19:05:37 · 375 阅读 · 1 评论 -
关于“段”的总结
汇编入门原创 2022-09-29 16:04:43 · 109 阅读 · 0 评论 -
用汇编语言写的源程序
汇编语言入门原创 2022-09-29 16:36:36 · 275 阅读 · 0 评论 -
栈及栈操作的实现
汇编入门原创 2022-09-28 22:37:19 · 575 阅读 · 0 评论