两个简单的汇编题,急哦,求帮忙。。有一个是关于微机原理的,100分~~
1,在一个无操作系统支持的微机系统,一个8259a的IR0所对应的中断类型吗是30h,而IR3中断的中断向量是2000H:3000H(分别为段地址和偏移地址),请写出将IR3中断向量写入中断向量表的程序段
2.有两个变量,X和Y,都是字类型,如果X比Y大则将X放入变量Z中,否则,将Y放入Z中,写出汇编
PS:本人学的是C,现在需要两个汇编代码,尝试自己写,时间很短,写不出来了,3Q啦
[解决办法]
会C的人,写汇编应该不难的。
关键是把汇编的寻址方式搞清楚,搞清楚数据从何而来,如何来,到哪去,怎么去就差不多了。
逻辑方面则和C基本相似!
祝你好运!
[解决办法]
可以利用DOS中断来安装中断向量
功能25H
功能描述:设置中断向量表
入口参数:AL=中断号
DS:DX=中断处理程序的入口地址
出口参数:无
;
mov dx,3000h ;偏移地址
mov ax,2000h
mov ds,ax ;段地址
mov al,33h ;不知道中断向量号是不是这个
mov ah,25h
int 21h
[解决办法]
1楼回来了问题2,我来回答下问题1
CLI
PUSH DS
PUSHAX
PUSHDI
XOR AX,AX
MOV DS,AX
MOVDI,0CCH
MOVAX,3000H
MOV[DI],AX
MOVAX,2000H
MOV[DI+2],AX
POPDI
POPAX
POP DS
STI
[解决办法]
我总觉得汇编比C难写多了
[解决办法]
实测2楼得程序,masm编译通过,但是无法观察段得值,所以不知道是否正确,理论上看是对的....