在8086模拟器中运行汇编求平均值程序

您所在的位置:网站首页 在程序中表示平均值一般用什么类型 在8086模拟器中运行汇编求平均值程序

在8086模拟器中运行汇编求平均值程序

2024-07-11 13:37| 来源: 网络整理| 查看: 265

DATA1 SEGMENT data DW 90, 95, 54, 65, 36, 78, 66, 0, 99, 50, -1 Average DW 0 DATA1 ENDS CODE1 SEGMENT ASSUME CS:CODE1, DS:DATA1 START: MOV AX, DATA1 MOV DS, AX XOR AX, AX XOR DX, DX ;用(DX,AX)来保存数组元素之和 XOR CX, CX ;用CX来保存数组元素个数 LEA SI, data ;用指针SI来访问整个数组 again: MOV BX, word ptr [SI] CMP BX, 0 JL over ADD AX, BX ADC DX, 0 ;把当前数组元素之值加到(DX,AX)中 INC CX ;数组元素个数加1 ADD SI, 2 JMP again over: JCXZ exit ;防止零作除数,即数组是空数组 DIV CX MOV Average, AX exit: MOV AX, 4C00H INT 21H CODE1 ENDS END START

 

score的平均整数,并存入内存字变量Average中,数组以-1为结束标志。

 

 xor eax,eax

 是异或运算,两数相反为1;两数相同为0。由于这两个数相同,异或后等于清0 ;由于它比mov eax,0效率高,所以一般用它。

 

LEA 取有效地址指令 (Load Effective Address ) 取源操作数地址的偏移量,并把它传送到目的操作数所在的单元。

下面两条指令就是等价的,他们都取TABLE的偏移地址,然后送到BX中,即

LEA BX,TABLE MOV BX,OFFSET TABLE

 

带进位加法指令 ADC(Addition Carry) 格式 ADC OPRD1,OPRD2 功能 OPRD1



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3