文章目录
1.8086的寻址方式
1.1 立即数寻址方式
1.2 寄存器寻址方式
1.3 存储器寻址方式
1.4 数据寻址寻址方式
2.8086 指令系统
2.1 数据传送指令
MOV(传送指令)
XCHG(交换指令)
XLAT(换码指令)
PUSH(进栈指令)
POP(出栈指令)
LAHF(标志送AH指令)
SAHF(AH送标志指令)
PUSHF(标志进栈指令)
POPF(标志出栈指令)
LEA (有效地址传送指令)
LDS/LES(指针传送指令)
2.2算数运算类指令
CF(进位指令)
OF(溢出指令)
INC(增量指令)
DEC(减量指令)
ADD(加法指令)
SUB(减法指令)
MUL(无符乘法指令)
IMUL(有符乘法指令)
DIV(无符除法指令)
IDIV(有符除法指令)
2.3位操作指令
逻辑运算指令:
AND(逻辑与指令)
OR(逻辑或指令)
XOR(逻辑异或指令)
NOT(逻辑非指令)
移位运算指令(Shift+Logcal/Arithmetic):
shl(逻辑左移)
shr(逻辑右移)
sal(算数左移)
sar算数右移)
循环移位指令(Rotate):
rol(不带进位左移)
ror(不带进位右移)
rcl(带进位左移)
rcr(带进位右移)
2.4控制转移指令
无条件转移指令
条件转移指令
循环指令
子程序指令
2.5处理机控制类指令
NOP (空操作指令)
SEG(超前越前缀指令)
LOCK(封锁前缀指令)
HLT(暂停指令)
ESC(交权指令)
WAIT(等待指令)
3.汇编语言程序格式
3.1 参数、变量和符号
3.2 复杂数据结构
3.2 汇编语言程序开发
程序结构:
代码段
数据段
堆栈段
程序题:
汇编语言:求最大值
assume cs:code ,ds:data
data segment
buffer dw 35098, 17758, 54582, 61504, 46054, 58513, 4409, 7902, 14255
dw 40623, 47645, 15575, 51572, 18110, 26511, 14880, 5921, 31999
dw 2893, 21056, 16574, 147, 25532, 33336, 5251, 64269, 31514, 23670
dw 53335, 49581, 57895, 25689, 51697, 58198, 27548, 54151, 41373
dw 44382, 23511, 39326, 56955, 51911
max dw ?
data ends
code segment
start :
mov ax,data
mov ds,ax
mov cx,offset max-offset buffer
shr cx,1 ;cx右移一位,个数减半
mov bx,0
dec cx
mov ax,[bx] ;先将ax放入第一个数据
inc bx
inc bx
s: cmp ax,[bx]
jae next ;若ax>=[bx]则跳转到next
mov ax,[bx] ;若ax<[bx]则将ax换成现在最大的。
next:inc bx
inc bx ;向后移动一个数据
loop s
mov max,ax
mov ax,4c00h
int 21h
code ends
end start
统计二进制中1的个数(汇编)
data segment
str db 'the result is:$'
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov dx,offset str
mov ah,09h ;输出字符串的功能,但是使用前必须将字符串的地址放到dx中 lea dx str 或者 mov dx,offset str
int 21h
mov ax,0ffffh ;初始化
mov cx,16 ;循环变量
mov dl,0 ;统计1的个数
next:
rol ax,1 ;循环左移
jnc next1 ;表示cf=0,则跳转到next1
inc dl ;计数
next1:
dec cx
jnz next
mov al,dl
aam ;调整
push ax ;先将这个ax的值保存在栈中
mov dl,ah ;查看高位的值
add dl,30h ;数字+30h编程字母 0的ASCII码30h
mov ah,02h ;ah放2,是2号功能,字符输出,并且要输出的字符是已经放在dl里面的
int 21h
pop ax
mov dl,al
add dl,30h
mov ah,02h
int 21h
code ends
end start
来源:CSDN
作者:学习主要靠自己
链接:https://blog.csdn.net/qq_43573718/article/details/103663412