8086程序,用于确定第一个数组元素对应于另一个数组元素的模
在本程序中,我们将了解如何对第一个数组对应于下一个数组的元素执行取模运算。
问题陈述
编写8086汇编语言程序,对第一个数组对应于下一个数组的元素执行取模运算。
讨论
在这个例子中,有两个不同的数组。这些数组存储在从501开始的地址和从601开始的地址。这两个数组的大小存储在偏移地址500处。我们使用数组大小来初始化计数器,然后使用循环逐个获取元素的模。
输入
地址 | 数据 |
---|---|
… | … |
500 | 04 |
501 | 0F |
502 | 0B |
503 | 05 |
504 | 08 |
… | … |
601 | 04 |
602 | 0A |
603 | 02 |
604 | 03 |
… | … |
流程图
程序
MOV SI, 500 ;Point Source index to 500 MOV CL, [SI] ;Load the array size into CL MOV CH, 00 ;Clear Upper half of CX INC SI ;Increase SI register to point next location MOV DI, 601 ;Destination register points to 601 L1: MOV AL, [SI] ;Load A with the data stored at SI MOV AH, 00 ;Clear upper half of AX DIV [DI] ;Subtract AX by DI MOV [SI], AH ;Store AH to SI address INC SI ;SI Point to next location INC DI ;DI Point to next location LOOP L1 ;Jump to L1 until the counter becomes 0 HLT ;Terminate the program
输出
地址 | 数据 |
---|---|
… | … |
500 | 04 |
501 | 00 |
502 | 01 |
503 | 01 |
504 | 02 |
… | … |
广告