大型组件386/8086中的寻址模式

时间:2019-12-30 10:52:10

标签: assembly x86-16 dosbox i386

    .MODEL LARGE
.STACK 100H
.DATA
N DW ?
M DW ?
SUM DD 0
.CODE

;void sum_col(int n, int m, long int* matrix[], long int new_col[])
  ;               [BP+6] [BP+8] [BP+10]              [BP+14]
.386
PUBLIC _sum_col
_sum_col PROC FAR
PUSH BP
MOV BP,SP
PUSH CX
PUSH ESI
PUSH DI 
PUSH EBX
PUSH EAX

MOV CX , [BP+6]
MOV N , CX
MOV CX , [BP+8]
MOV M ,CX
MOV DI ,[BP+10]; offset matrix
MOV ES, [BP+12] ; SEG matrix
MOV ESI, ES:[DI]
MOV EDX , [ESI+4] ; <------- this line

在最后一行中,[esi + 4](矩阵)的值没有移到edx,我一直从dosbox收到此消息

  

从4c0baa38非法读取,CS:IP 4a9b:31从非法读取   4c0baa39,CS:IP 4a9b:31从4c0baa3c非法读取,CS:IP
  4a9b:35从4c0baa3d非法读取,CS:IP 4a9b:35

0 个答案:

没有答案