汇编语言
DbillionBUG
永远不会被人工智能取代的,是我自由的心。
展开
-
汇编语言-Windows编程
1.Windows函数调用原创 2021-06-03 09:04:27 · 167 阅读 · 2 评论 -
汇编实验-Eratosthenes筛选法快速求素数个数
认真理解Eratosthenes筛选法快速求素数个数的算法,编写求10万内共有多少个素数的程序(教材习题4.30),并显示素数个数值。;430.asm include io32.inc .dataarray byte 100001 dup(30h) .codestart: mov esi,2 ;用来记录某数,方便以后找所有可以被其整除的数 xor edi,edi ;用来记录素数的个数 mov ebx,offset array原创 2021-05-26 21:32:14 · 740 阅读 · 0 评论 -
汇编语言-与C++混合编程
1.嵌入汇编高级语言和汇编语言给软件开发通常采用高级语言,以提高开发效率某些部分利用汇编语言,以提高程序的运行效率 ▶汇编语言的优点 开发的程序占用存储空间小、运行速度快 ▶汇编语言的缺点 与处理器密切相关、移植性差,编程烦琐、调试困难混合编程汇编语言与高级语言、或不同高级语言间,通过相互调用、参数传递、共享数据结构和数据信息而形成程序的过程,称为“混合编程”嵌入汇编嵌入汇编(内嵌汇编、内联汇编、行内汇编) ▶直接在C/C++语言的源程序中插入汇编语言原创 2021-05-26 16:51:39 · 1394 阅读 · 1 评论 -
汇编语言-DOS环境汇编
1.DOS编程DOS介绍DOS特点DOS编程的注意事项实地址存储模型逻辑地址和物理地址16位存储器寻址方式基址寄存器+变址寄存器+位移量多种寻址方式原创 2021-05-19 15:11:12 · 4811 阅读 · 0 评论 -
汇编语言-多模块程序结构
1.程序模块多模块程序结构程序分段、子程序等实现了程序模块化开发大型应用程序时常使用 ▶多个源程序文件 ▶目标代码模块等组成完整的程序形成多模块程序结构源文件包含大型源程序可以合理地分放在若干个文本文件中 ▶各种常量定义、声明语句等组织在包含文件(*.INC) ▶常用的或有价值的宏定义存放在宏定义文件(*.MAC) ▶常用的子程序形成汇编语言源文件(*.ASM) ▶任何文本文件源文件包含的使用被包含文件 ▶文件名要符合操作系统规范 ▶操作过原创 2021-05-12 17:13:49 · 1054 阅读 · 0 评论 -
汇编语言-子程序设计
1.子程序指令主程序(调用程序)执行调用指令CALL:1将下条指令的地址压入堆栈(顶部)2转移到目标地址调用子程序子程序(被调用程序)执行返回指令RET:1从当前堆栈顶部弹出内容作为返回地址2转移到返回地址RET;无参数返回,出栈返回地址RET i16;有参数返回,出栈返回地址,ESP=ESP+i16过程定义伪指令过程名 PROC......;过程体过程名 ENDP;过程名为符合语法的标识符子程序框架标识符 proc ;过程定义 push ...1原创 2021-05-07 11:29:16 · 2073 阅读 · 0 评论 -
汇编语言-循环程序结构
1.循环指令LOOP指令LOOP是循环指令,用于实现减量计数的循环控制,先减1后判断;功能一:ECX⬅ECX——1(DEC ECX);功能二:若ECX=0,转移到LABEL;否则,顺序执行(JNZ label)典型应用: mov ecx,num ;设置循环的计数初值numlabel:..... ;循环体 loop label ;ECX减1,未到0继续循环 ;到0结束循环JECXZ指令为避免计数初值为0可原创 2021-04-27 20:28:20 · 3494 阅读 · 0 评论 -
汇编语言-分支程序结构
1.指令寻址顺序寻址:EIP自动增量指向下一条指令•顺序执行接着的下一条指令跳转寻址:控制流程跳转(转移)到指定指令位置•实现程序分支、循环、调用等结构指令的相对寻址:•提供目标地址相对于当前指令指针EIP的位移量目标地址(转移后的IP)=当前EIP+位移量特点•相对寻址都是段内转移•最常用、最灵活•目标地址=目的地址=转移地址指令的直接寻址目标地址=指令操作数•直接提供目标地址目标地址=指令操作数•理论上可以段内或段间转移•A-32只支持段间的直接转移指令的间接寻址•原创 2021-04-21 17:29:57 · 1597 阅读 · 0 评论 -
汇编语言-顺序程序结构
1.自然数求和程序原创 2021-04-12 22:18:49 · 493 阅读 · 0 评论 -
汇编语言-位操作指令
逻辑和移位指令1.逻辑运算指令·逻辑与指令AND两位都是逻辑1,则结果是1;否则,结果是0。按位进行逻辑与,结果返回目的操作数。·逻辑或指令OR两位都是逻辑0,则结果是0;否则,结果是1。按位进行逻辑或,结果返回目的操作数。·逻辑非指令NOT原来为0的位变成1,原来为1的为就是0。按位进行逻辑非,结果返回操作数。·逻辑异或指令XOR两位不同,则结果是1;否则,结果是0。按位进行逻辑异或,结果返回目的操作数。·测试指令TEST除了NOT指令不影响标志外,其他逻辑指令·使OF=C原创 2021-04-07 23:02:30 · 2727 阅读 · 1 评论 -
汇编语言-传送和运算指令
1.数据传送类指令把数据从一个位置传送到另一个位置,除标志寄存器传送指令外,均不影响状态标志。MOV: 拷贝传送,支持byte、word、dwordMOV reg/mem,immMOV reg/mem/seg,regMOV reg/seg,memMOV r16/m16,segXCHG:PUSH:POP:LEA:...原创 2021-04-01 21:33:40 · 379 阅读 · 0 评论 -
汇编语言-数据寻址
1.指令及其操作数指令有两部分:操作码和操作数操作码:处理器要执行哪种操作,不可或缺,用助记符表示。操作数:指令执行的参与者,各种操作的对象,需要通过地址指示。2.寻址方式通过地址访问数据或指令数据寻址:指令执行过程中,访问所需要操作的数据(操作数)(立即数寻址、寄存器寻址、存储器寻址、外设寻址)。指令寻址:一条指令执行后,确定执行的下一条指令的位置。存储器寻址:数据来自主存储器。立即数寻址:数据保存在指令代码中。...原创 2021-03-22 22:19:34 · 474 阅读 · 0 评论 -
汇编语言开发
1.处理器指令的操作数:表示参与操作对象具体的常量保存在寄存器中的数据保存在存储器的变量逗号前常是目的操作数,逗号后常是源操作数mov eax,offset msg2.伪指令的参数常量、变量名、表达式等可以有多个,参数之间用逗号分隔msg byte’Hello,Assembly !’,13,10,03.注释分号开头,占用一个语句好对语言没有要求...原创 2021-03-14 10:03:08 · 900 阅读 · 0 评论 -
汇编语言-数据表示
1.常量表达汇编语言常用后缀字母区别各个进制的数据二进制数用后缀字母B(Binary)十六进制数用后缀字母H(hexadecimal),以十进制数是默认,不需特别说明,或用D(Decimal)N位表达的数值范围:0~2^(N-1)2.有符号整数在计算机中默认采用补码最高位表示符号:正数用0,负数用1正数补码:直接表示数值大小(同无符号数)负数补码:将对应正数补码取反加1负数真值“取反加1”得机器数补码负数补码“取反加1”得到负数真值适用于使用二进制表达时从最低位开始,对遇到的0和第原创 2021-03-15 14:50:53 · 3379 阅读 · 1 评论