![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
汇编
knxw0001
人不自辱,谁能辱之
展开
-
子程序设计——用栈传递参数
汇编中,子程序设计时,参数的传递一般是用寄存器传递,这里我们讨论另一种方法,用栈传递。比如,有这样一个题目,计算(a-b)^3,a、b为字型数据,设a=3,b=1。程序如下:assume cs:codecode segmentstart: mov ax,3 push ax mov ax,1 push原创 2012-02-10 14:01:54 · 2094 阅读 · 0 评论 -
8086CPU的14个寄存器全称
通用寄存器:ax——accumulate register——累加器bx——based register——基地址寄存器cx——count register——计数器dx——data registered——数据寄存器段寄存器:cs——code segment——代码段ds——data segment——数据段ss——stack segment——栈段寄存器原创 2012-02-10 17:32:59 · 9506 阅读 · 2 评论 -
8086汇编指令全称
mov——movepush——pushpop——popxchg——exchangein——inputout——outputpushf——push flagpopf——pop flagadd——addadc——add with carryinc——increase 1cmp——comparemul——multiplication原创 2012-02-11 10:27:35 · 1418 阅读 · 0 评论 -
伪指令——public和extrn
public :汇编伪指令,用于说明程序模块中的某个标号是可以被其他程序模块调用的。格式是public 标号extrn:汇编伪指令,用于说明程序模块中用到的标号是其他程序模块的。格式是extrn 标号:类型,类型有near,far,byte,word,dword等。这两个伪指令是互相补充的,这些标号是需要在前面先集中申明的。注意,这里还要明确一个定义,什么是程序模块?程序模块是原创 2012-02-10 15:45:48 · 14601 阅读 · 1 评论 -
溢出问题及检测
我们先来谈谈溢出的问题,在进行有符号数运算的时候,如结果超过了机器所能表示的范围,则成为溢出。那么,什么是机器所能表示的范围呢?比如说:指令运算的结果用8位寄存器存放,那么对于8位的有符号数据,机器所能表示的范围就是-128~127.如果运算结果超出了机器所能表达的范围,将产生溢出。注意,这里所讲的溢出,只是对有符号数运算而言。下面我们看两个溢出的例子。mov al,98(62原创 2012-02-10 21:50:07 · 3680 阅读 · 0 评论