
汇编语言学习
文章平均质量分 74
jiangsq12345
这个作者很懒,什么都没留下…
展开
-
汇编语言指令大全
数据传送指令集 MOV功能: 把源操作数送给目的操作数语法: MOV 目的操作数,源操作数格式: MOV r1,r2MOV r,mMOV m,rMOV r,dataXCHG功能: 交换两个操作数的数据语法: XCHG格式: XCHG r1,r2 XCHG m,r XCHG r,mPUSH,POP功能: 把操作数压入或取出堆栈语法: PUSH 操作数 POP 操作数格式: PUSH r PUSH M PUSH data POP r POP转载 2011-05-13 03:01:00 · 439 阅读 · 1 评论 -
详细说明 C语言中 int 型的值表示范围为什么为 -32768 ~ 32767
转自XXX (转载太多,没有找到原文,如作者看到此文不同意转载,本人马上删除)原文有2处小错误,已更正(红色)这得从二进制的原码说起: 如果以最高位为符号位,二进制原码最大为0111111111111111=2的15次方减1,等于32767 最小为1111111111111111=-2的15次方减1,等于-32767 此时0有两种表示方法,即正0和负0:0000000000000000=1000000000000000=0 所以,二进制原码表示时,范围是-32767~-0和0~32767,因转载 2011-03-27 16:04:00 · 500 阅读 · 0 评论 -
The Netwide Assembler (NASM) 汇编语言笔记(1)
NASM LINUX $在汇编语言学习中找到的一个很好的入门Tutorial,所以摘录了一些比较重要的要点1.一个汇编语言程序一般可分成3部分:1) .data 区 用来定义初始化变量 (但是此处的这些变量定义后在程序执行过程中是不允许改变的,所以是狭隘意义上的“变量”)从C 语言的角度来说,这些宏,导入声明文件库等都应该在这块区域内。 这里可以使用EQU,DB, DW, DD, DQ 和 DT等其他指令操作 section .data message: db 'Hello翻译 2011-05-24 03:37:00 · 785 阅读 · 0 评论 -
The Netwide Assembler (NASM) 汇编语言笔记 (2)
<br />在前一文中讲解了第一个简单的汇编程序,接下来让我们稍微深入一点认识汇编。3 运行程序时参数的处理<br /><br />相对于DOS,对运行程序时输入的参数的调用更加简单直观。 因为在程序开始运行后,所有的参数都被保存在一个堆栈中,因此你要做的仅仅是用 pop 命令拿出所需要的参数。 以下给出一个例子(一个带有3个参数的程序):<br />./program foo bar 42<br />所对应的堆栈可以用下面的图来解释4programfoobar42参数的个数,注意程序名也被作为一个参数看待翻译 2011-05-25 03:52:00 · 416 阅读 · 0 评论