1.3,0
2.20
3.寄存器,直接访问,地址表,堆栈
4.由中断指令INT引起,由于CPU的某些错误而引起,为调试程序(DEBUG)设置的中断
5.操作码,操作数
6.0012,0012,0110,0110,1000
7.-40,216
8.48H
二.
1.√
2.√
3.√
4.√
5.×
6.×
7.√
8.×
9.√
10.×
三.
4.mov si,offset D1
lea si,D1
mov si,D2
四
1.JMP LOOP0
2.计算2+4+6+8+10+12+14+16+18+20
AX=6EH
五.
1.ABX PROC NEAR
add ax,bx
cmp ax,0
jge exit
neg ax
exit:
ret
ABX ENDP
2.data segment
ARRAY DW 1,2,-1,3,4,-2,-3,4,5,-6
P_ARY DW ?,?,?,?,?,?,?,?,?,?
N_ARY DW ?,?,?,?,?,?,?,?,?,?
P_NUM DB 0
N_NUM DB 0
data ends
code segment
assume cs:code,ds:data
start:
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov cx,10
mov si,offset ARRAY
mov bx,offset P_ARY
mov di,offset N_ARY
loop1:
mov ax,[si]
cmp ax,0
jge flag1
mov [di],ax
mov al,N_NUM
inc al
mov N_NUM,al
inc si
inc si
inc di
inc di
jmp flag2
flag1:
mov [bx],ax
mov al,P_NUM
inc al
mov P_NUM,al
inc si
inc si
inc bx
inc bx
flag2:loop loop1
mov dl,P_NUM
add dl,30h
mov ah,2
int 21h
mov dl,' '
int 21h
mov dl,N_NUM
add dl,30h
int 21h
mov ax,4c00h
int 21h
code ends
end start
[[italic] 本帖最后由 zhulei1978 于 2007-12-28 09:51 编辑 [/italic]]