汇编语言零基础入门学习教程

4.4 LAHF和SAHF指令

4.5 XCHG指令

4.6 直接偏移量操作数

4.7 汇编语言数据传送示例

4.8 加法和减法详解

4.9 OFFSET运算符

4.10 ALIGN伪指令

4.11 PTR运算符

4.12 TYPE运算符

4.13 LENGTHOF运算符

4.14 LABEL伪指令

4.15 间接寻址

4.16 JMP和LOOP指令

4.17 64位MOV指令

4.18 64位加法和减法

汇编语言过程

5.1 汇编语言堆栈简介

5.2 汇编语言运行时堆栈

5.3 PUSH和POP指令

5.4 PROC和ENDP伪指令

5.5 CALL和RET指令

5.6 过程调用嵌套

5.7 示例:整数数组求和

5.8 USES运算符

5.9 链接库简介

5.10 Irvine32链接库

5.11 Irvine32链接库过程详细说明

5.12 Irvine64链接库

汇编语言条件判断

6.1 布尔和比较指令简介

6.2 AND指令

6.3 OR指令

6.4 位向量(位映射)

6.5 XOR指令

6.6 NOT(反码)指令

6.7 TEST指令

6.8 CMP(比较)指令

6.9 置位和清除单个CPU标志位

6.10 64位模式下的布尔指令

6.11 条件跳转简介

6.12 条件跳转指令汇总

6.13 条件跳转应用及示例

6.14 LOOPZ和LOOPE指令

6.15 LOOPNZ和LOOPNE指令

6.16 使用汇编语言实现IF语句

6.17 使用汇编语言实现逻辑表达式

6.18 使用汇编语言实现WHILE循环

6.19 表驱动选择

6.20 有限状态机

6.21 条件控制流伪指令

6.22 .IF、.ELSE、.ELSEIF、.ENDIF伪指令

6.23 用.REPEAT和.WHILE实现循环

汇编语言整数运算

7.1 移位和循环移位指令简介

7.2 SHL(左移)指令

7.3 SHR(右移)指令

7.4 SAL和SAR指令

7.5 ROL(循环左移)指令

7.6 ROR(循环右移)指令

7.7 RCL和RCR指令

7.8 SHLD和SHRD指令

7.9 移位和循环移位的应用

7.10 MUL指令

7.11 IMUL指令

7.12 GetMseconds:测量程序执行时间

7.13 DIV指令

7.14 IDICV指令

7.15 使用汇编语言实现算术表达式

7.16 ADC指令

7.17 SBB指令

7.18 ASCII和非压缩十进制运算

7.19 AAA指令

7.20 AAS指令

7.21 AAM和AAD指令

7.22 压缩十进制运算简介

7.23 DAA指令

7.24 DAS指令

汇编语言高级过程

8.1 堆栈帧简介

8.2 寄存器参数的缺点

8.3 访问堆栈参数

8.4 常用32位编程调用规范

8.5 局部变量应用

8.6 引用参数简介

8.7 LEA指令

8.8 ENTER和LEAVE指令

8.9 LOCAL伪指令

8.10 Microsoft x64调用规范简介

8.11 递归及应用详解

8.12 INVOKE伪指令

8.13 ADDR运算符

8.14 PROC伪指令

8.15 PROTO伪指令

8.16 过程参数简介

8.17 WriteStackFrame过程

8.18 多模块程序简述

8.19 EXTERN伪指令

8.20 跨模块使用变量和标号

8.21 用Extern伪指令新建模块

8.22 用INVOKE和PROTO新建模块

8.23 使用USES运算符注意事项

8.24 向堆栈传递8位和16位参数

8.25 32位模式下传递64位参数

8.26 非双字局部变量

8.27 Java虚拟机工作原理

汇编语言字符串和数组

9.1 字符串基本指令简介

9.2 MOVSB、MOVSW和MOVSD指令

9.3 CMPSB、CMPSW和CMPSD指令

9.4 SCASB、SCASW和SCASD指令

9.5 STOSB、STOSW和STOSD指令

9.6 LODSB、LODSW和LODSD指令

9.7 Irvine32字符串过程

9.8 Irivne64字符串过程

9.9 二维数组简介

9.10 冒泡排序简述

9.11 对半查找简述

9.12 Java字符串处理

汇编语言结构和宏

10.1 STRUCT和ENDS伪指令

10.2 声明结构变量

10.3 TYPE和SIZEOF运算符

10.4 实例:显示系统时间

10.5 结构嵌套简述

10.6 联合的声明和使用

10.7 宏过程简述

10.8 MACRO和ENDM伪指令

10.9 宏的调用简述

10.10 宏的特性

10.11 Macro宏库详解

10.12 实例:封装器

10.13 条件汇编伪指令简述

10.14 IFB和IFNB伪指令

10.15 宏默认值设定及布尔表达式简述

10.16 IF、ELSE和DENDIF伪指令

10.17 IFIDN和IFIDNI伪指令

10.18 实例:矩阵行求和

10.19 &、<>、!、%运算符简述

10.20 宏函数

10.21 使用WHILE、REPEAT、FOR 和 FORC伪指令定义重复语句块

汇编语言MS-Windows编程

11.1 MS-Windows编程简述

11.2 Win32控制台函数简述

11.3 MessageBoxA函数

11.4 ReadConsole函数

11.5 GetLastError和FormatMessage函数

总结

=============================================================

从转行到现在,差不多两年的时间,虽不能和大佬相比,但也是学了很多东西。我个人在学习的过程中,习惯简单做做笔记,方便自己复习的时候能够快速理解,现在将自己的笔记分享出来,和大家共同学习。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

个人将这段时间所学的知识,分为三个阶段:

第一阶段:HTML&CSS&JavaScript基础

第二阶段:移动端开发技术

第三阶段:前端常用框架

  • 推荐学习方式:针对某个知识点,可以先简单过一下我的笔记,如果理解,那是最好,可以帮助快速解决问题;如果因为我的笔记太过简陋不理解,可以关注我以后我还会继续分享。

  • 大厂的面试难在,针对一个基础知识点,比如JS的事件循环机制,不会上来就问概念,而是换个角度,从题目入手,看你是否真正掌握。所以对于概念的理解真的很重要。

  • 20
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.CPU要访问的某一存储单元的实际地址称(   )   A.段地址         B.偏移地址   C.物理地址        D.逻辑地址 2.某存储单元的物理地址是12345H,可以作为它的段地址有(   )   A.2345H        B.12345H   C.12340H       D.1234H 3.执行后使BX=0的同时也使CF=0,OF=0的指令是(   )   A.XOR BX,BX    B.OR BX,BX   C.AND BX,BX    D.CMP BX,BX 4.循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是(   )   A.CX≠0且ZF=1    B.CX≠0且ZF=0   C.CX≠0或ZF=1    D.CX≠0或ZF=0 5.在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是(   )   A.DAA校正指令的功能已自动加在AH中   B.进位值在AF中,校正后根据AF内容再加在AH中   C.进位值在CF中,校正后根据CF内容再加在AH中   D.进位值在AL最高位上,校正后根据AL最高位内容再加在AH中 6.AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是(   )   A.指令XOR AX,AX执行后,AX内容不变,但设置了标志位   B.指令OR DX,1000H执行后,将DX最高位置1,其余各位置0   C.指令AND AX,OFH执行后,分离出AL低四位   D.NOT AX,执行后,将AX清0 7.在执行下列指令时,需要使用段寄存器DS的指令是(   )   A.STOSW        B.ADD AL,CL   C.NEG BX       D.INC DA[BX] 8.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是(   )   A.ADD BH,01H     B.OR BH,01H   C.XOR BH,01H     D.TEST BH,01H 9.完成对CL寄存器的内容乘以4的正确操作是(   )   A.ROL CL,1        B.MUL 4     ROL CL,1   C.SHL CL,1        D.MOV CL,2    SHL CL,1             SHL CL,CL 10.下面各传送指令中,正确的是(   )   A.MOV [DI],[SI]            B.MOV[DX+DI],AL   C.MOV WORD PTR [BX],0100H       D.MOV AL,BX 11.汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法(   )   A.名字的第一个字符可以是大写英文字母及小写英文字母   B.名字的第一个字符可以是字母、数字及、@、_   C.名字的有效长度≤31个字符   D.在名字中不允许出现$ 12.要实现使BETA的值为56,应采用语句为(   )   A.BETA DB 56      B.BETA DB 56H   C.BETA EQU 56      D.BETA EQU 56H 13.REPZ CMPSW指令,重复执行的终止条件是(   )   A.CX=0或ZF=0      B.CX=0且ZF=0   C.CX=0或ZF=1      D.CX=0且ZF=1 14.下面程序段执行后,AL中的内容是(   )   MOV AX,8833H   ADD AL,AH   DAA   A.21       B.21H   C.0C1H      D.0DDH 15.比较两个带符号的数A、B,当A=B时程序转移,测试的条件为(   )   A.ZF=1      B.ZF=0   C.SF=1      D.SF=0 16.检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP AL,BL”指令后应跟的分支指令是(   )   A.JNC LOP1      B.JA  LOP1   C.JC LOP1      D.JGE  LOP1 17.在下列串操作指令中,同时使用源串和目的串地址指针的指令是(   )   A.STOSW      B.LODSW   C.SCASW      D.CMPSW 18.设AL=0AH,下列指令执行后能使AL=05H的是(   )   A.NOT AL         B.AND AL,0FH   C.XOR AL,0FH      D.OR AL,0FH19.DA1  DW‘AB’,‘CD’,‘EF’,‘GH’(   )     ┇    MOV AX,DA1+3  指令执行后AX中的内容是  A.‘EF’   B.‘CD’  C.‘BC’   D.‘FC’20.使用DOS系统功能调用时,使用的软中断指令是(   )  A.INT 21      B.INT 10H  C.INT 16H     D.INT 21H二、填空题(本大题共12空,每空0.5分,共6分)请在每小题的空格中填上正确答案。错填、不填均无分。21.十六进制数0FFF8H表示的十进制正数为________,表示的十进制负数为________。22.若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,(SI+COUNT)中,源操作数的有效地址EA为________,其物理地址为________。23.CPU的标志寄存器中标志位,可以分为两大类,其中一类称为________标志位,另一类称为________标志位。24.当标志位________=1时表示无符号数运算产生溢出,而当标志位________=1是表示带符号数运算产生溢出。25.如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是________,而后两个字节存放的是________。26.在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是________或________才有实际意义。三、简答题(本大题共4小题,每小题2分,共8分)27.已知:BX=1357H,DI=2000H,DS=2000H,CS=4000H,分别指出下面各指令中存储器操作数的物理地址。(1)MOV AL,[BX](2)MOV CS:[BX+DI],AH28.0P1 DB 1,2 0P2 DW 3412H,5678H┇ MOV AX,OP1+1;字单元(OP1+1) AX MOV BL,OP2+1;字节单元(OP2+1) BL 上述二条传送语句有语法错误,请根据注释字段的说明,将其改正。29.下列语句在存储器中分别为变量分配多少字节? (1)AD2 DW 10 DUP(?),10 (2)AD3 DD 100 DUP(?)30.简述下面两条指令分别是什么语法错误? MOV [BX],[SI] MOV AX,DL四、程序分析题(本大题共6小题,每小题6分,共36分)31. MOV DL,AL   NOT DL   TEST DL,04H   JE NEXT        ┇ NEXT:…   若上述程序段执行时产生分支,说明AL中的数第几位一定为1?程序段执行后CF是多少?32.DA1  DB‘ABCDEFGHI’  DA2  DB  9 DUP(0)    ┇    LEA SI,DA1    LEA DI,DA2    MOV CX,9    CLD  LOP: LODSB    SUB AL,10H    STOSB    LOOP LOP    . . . 试问:①写出程序执行后DA2各字节中的数据。   ②保持程序功能情况下,程序中 可否改写为 33.已知:BX=4567H   NEG BX   INC BX   NEG BX   DEC BX 程序段执行后,BX=________,CF=________。34.   MOV BL,64H     MOV CL,03H     XOR AX,AX AGAIN:ADD AL,BL    ADC AH,0    DEC CL    JNZ AGAIN 问:(1)该程序段完成的功能是:   (2)AX=________。35.已知数据段中定义 DAT1 DB  12H,34H,56H,78H    MOV CX,0    MOV AX,WORD PTR DAT1    MOV CL,DAT1+3 当程序段执行完后AX=________,CX=________。36.DA1  DB 83H,72H,61H,94H,5AH    ┇     MOV CX,WORD PTR DA1     AND CX,0FH     MOV AL,DA1+3     SHL AL,CL  上述指令序列执行后,AL=_______,CL=_______。五、程序填空题(本大题共2小题,每小题6分,共12分)37.在NUMW单元存放有一个0-65535范围内的整数,将该数除以500,商和余数分别存入QU1和REM单元,请在空行处各填上一条指令完善该程序。   ┇ MOV AX,NUMW _____________ XOR DX,DX DIV BX MOV QUI,AX  _____________38.某程序欲用单个字符显示的2号功能调用去显示STRING中的字符串‘COMPUTER’(不显示字符‘$’!).试在空白处填上适当的一条指令。 STRING DB‘COMPUTER’,‘$’ ┇ MOV BX,0FFSET STRING LOP:MOV DL,[BX]    MOV AH,02H    INT 21H    ____________________    ____________________    JNE LOP六、编程序题(本大题共2小题,第39小题6分,第40小题12分,共18分)39.试编制一程序段,用串操作指令实现以DA_BY为首址的20H个字节单元中存放相同字符‘Y’(设DA_BY存储区已有ES指向)。40.试编制一源程序,统计DA1字单元中含0的个数,如统计的个数为奇数,则将进位位置1,否则进位位清0。    DATA  SEGMENT    DA1  DW  XXXX    DATA ENDS2006年10月汇编语言程序设计试题答案  来源: http://www.csai.cn 2006年10月汇编语言程序设计试题答案一、1、C;2、D;3、A;4、B;5、C;6、C;7、D;8、B;9、C;10、C;11、B;12、C;13、A;14、B;15、A16、C;17、D;18、C;19、D;20、B二、21、+65528;-3276022、20A8H;11488H23、状态;控制24、CF;OF25、IP;CS26、STOS;CMP三、27、(1)21357H;(2)43357H28、MOV AX,WORD PTR(OP1+1)    MOV BL,BYTE PTR(OP2+1)29、(1)22;(2)40030、MOV指令不能在两个存储器操作数之间进行;    操作数类型不匹配四、31、第2位;CF=032、123456789;不能更改33、BX=4565H;CF=134、AX=012CH,将AX内容乘3送BX中35、AX=3412H,CX=0078H36、AL=0A0H,CL=03H五、37、MOV BX,500    MOV REM,DX38、INC BX    CMP [BX],24H六、39、LEA DI,DA_BY        MOV CX,32        MOV AL,‘Y’        CLD        REP STOSB40、CODE SEGMENT          ASSUME CS:CODE,DS:DATA       START: MOV  AX,DATA              MOV  DS,AX              LEA  SI,DA1              MOV  CX,16              XOR BL,BL       AGAIN: MOV  AL,[SI]              HL AL,1              JC NEXT              INC BL        NEXT:INC SI              LOOP AGAIN              TEST BL,01H              JNE  L1              CLC              JMP DONE           L1: STC         DONE: MOV AH,4CH               INT 21H         CODE ENDS              END START  

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值