8086汇编语言学习笔记:AX在除法运算中的应用

AX:累计寄存器
作用一遍用于运输,通常的+,-,*(乘),/(除)运算。默认使用该寄存器做被操作数和结果
MOV:赋值指令,相当于通常语音的"="号。
AH:AX的高8位
Al:AX的低8位
DIV:除运算
DX:数据寄存器,在这里的价值如下
1 当除数为16位时。默认用DX作为被除数的高位。运算完成后用DX保持余数,AX保存商
2 当除数为8位时。用AH保存余数,用AL保存商。
3 当乘数为16位时。用DX保存运算结果的高位。
4 当乘数为8位时。那么被乘数也必须为8被,保存到Al中。运算结果保存到AX中。
BX:基地址寄存器,这里就做为一个通用寄存器使用。任何通用寄存器都可以作为一个变量保存数据。

除数为8位的情况

MOV DX,0H 设置DX为0,这里不设置也没有问题,因为被除数,是8位的,不会使用到DX。
MOV AX,8H 设置AX为8
MOV BX,2H 设置BX为2
DIV BX 运算过程 AL =AX/BX AH保存余数,这里的结果是 AL:2 = 8/4 AH:0

除数为16位的情况

MOV DX,0H 设置DX为0,这里不设置也没有问题,因为被除数,是8位的,不会使用到DX。
MOV AX,200H 设置AX为2
MOV BX,100H 设置BX为1
DIV BX 运算过程 AX = DX:AX/BX AH保存余数,这里的结果是 AL:0 AL:2 = 2/1 DX:0

给程序就是模拟的一个除法运算。

猜你喜欢

转载自blog.csdn.net/xie__jin__cheng/article/details/88990985
今日推荐