参考寝室大佬的笔记写的(
教材:沈美明版汇编教材
H-X-L 高8位-16位-低8位
.txt=>.asm
ParaName SEGMENT 段开始
ParaCode 段内容
ParaName ENDS 段结束
Data SEGMENT
DataCode
Data ENDS
Code SEGMENT
ASSUME CS:CODE,DS:DATA,ES:EXTRA 代码位置设定
GO: Code
CALL SubCode1 跳转至子程序1
SubCode1 PROC NEAR 段内子程序1
SubCode
RET 返回原位置
SubCode 1 ENDP
CALL SubCode2 跳转至子程序2
SubCode2 PROC FAR 段外子程序2
SubCode
RET
SubCode2 ENDP
Code ENDS
DataName DataType Data(...H/...(D)/...B/’...’)
DB Times DUP(...) 重复
DB Times1 DUP(...,Times2 DUP(...)) 重复套娃
DB 单字节
DW 字
DD 双字
DF
DQ
DT
代码表,可参考P435(前提是看得懂)
MOV Dst,Src 将Src的数据搬入Dst
INC Dst Dst++
DEC Dst Dst–
ADD Dst,Src Dst+=Src
ADC Dst,Src 进位加法
SUB Dst,Src Dst-=Src
SBB Dst,Src 退位减法
MUL Imm AX*=Imm
IMUL Imm 带号乘法
IDIV Imm AL=AX/Imm,AH=AX%Imm
LOOP Lop 跳转至地址Lop,条件为CX>0
INT 21H 响应终端程序,具体查看AH,表在P471
Jcc Imm 跳转,cc内容见下表
[DataName+SI/DI] DataName偏移SI/DI位置
CMP Src1,Src2 比较Src1与Src2,若<则返回false
Jcc Imm 若~,则跳转
FileName \n3
0 Warning Errors
0 Severe Errors
LINK FileName \n3
C:>DEBUG FileName.exe 查看代码
C:>FileName 直接运行
-A 开始编程
-T 执行一条语句
-U 查看待执行代码
-U Imm 查询Imm代码
-U Imm LF 查看Imm~Imm+000F代码
-R 查看寄存器内容
-D 查看0000~000F内存
-D Imm 查看Imm~Imm+000F内存
-D Imm LF 查看Imm内存
-E Imm 改写Imm内存
-G=Imm1 Imm2 执行Imm1~(Imm2前一句)的代码
-Q 退出
-G IMM 执行从0到imm 的前一句的代码。
(后面还会根据老师ppt、考试前的复习和大佬总结进行更新