下面的程序执行后,(ax)等于多少?
Mov ax,0
Push ax
Popf
Mov ax,0fff0h
Add ax,0010h
Pushf ax
Pop ax
And al,11000101B
And ah,00001000B
Ax=45H
分析:
Popf将标志位清零
Add ax,0010h 得到 ax=10000h
Pushf ax 改变标志位的值,主要将zf,pf,cf的值将原来的0该变为1
Pop ax将ax出栈(ax的值就是标志位的值0000000001000101B)
And al,11000101B al=01000101+11000101=01000101B
And ah,00001000B ah=00000000B
最后(ax)=01000101B=45H
- [zhenglxd] 正确 挺可惜的 你们十堰职业技术学院学生 最终能坚持下来的也就2,3个,好像你的进度是最快的! 06/16 15:50
- [tomato] 正确。 06/15 14:35
- [tomato] 正确。 06/12 09:18
- [十堰职业技术学院学生211037] 谢谢whos 提出的错误,自己检查了一下,最后得出的结果是: Add al ,90h cf= 05/23 19:57
- [十堰职业技术学院学生211037] 谢谢,是我自己理解的时候出错。 正确的做法是: (1) Mov ax,0f000h Mov 05/22 17:51
- [游客] 回答OK。 05/22 08:10
- [游客] jb是小于,jnb是不小于(即大于或等于)。根据这个解释,你的两个题目是有问题的。[]是闭区间,() 05/22 08:09
- [tomato] 正确。 05/19 12:34
- [whos] Add al,90H CF=0 OF=0 SF=0 ZF=0 PF= 05/17 12:15
- [mess] 正确,博主继续加油啊^_^ 05/11 18:41
- [游客] 为啥没有报名学习活动呢?那样你的博客里就有专门提交作业的地方了。 03/26 20:51
[ 游客 发表于 2009-05-22 08:10 ]
回答OK。