
X86汇编语言
weixin_40438063
这个作者很懒,什么都没留下…
展开
-
X86 保护模式下的段界限的计算
这几天一直在学习<<X86汇编语言从实模式到保护模式>>中关于如何计算保护模式下的段界限的内容.个人感觉这本书大部分内容都写的清楚明白,但这部分知识点讲的有点乱,虽然讲的很多,但我感觉始终没有讲到点子上,所以我费了好大劲才算看明白了.下面我把我的理解尽量简单的描述一下,希望能帮助大家加深理解. 对于普通段而言,由于段是向上生长的,所以段界限L定义的是段向...原创 2019-11-02 23:31:52 · 1140 阅读 · 1 评论 -
王爽的汇编语言实验7解答
这道题主要考察了汇编语言寻址方式和数据的存取规则是否熟练,调试过程还是颇费了些周折。好歹还是坚持把代码调试通过了。这里把代码贴出来和感兴趣的朋友分享一下。下面的代码在MASM5下调试通过。(不失一般性,选取了后面的3年数据); analysis for 3 years for efficiency and it is easy to extend to 21 years.assume ...原创 2019-09-10 21:58:11 · 1314 阅读 · 0 评论 -
王爽汇编语言实验9解答
实验9自己做下来感觉代码不难写,但是寄存器的分配很关键,要省着点用,另外用DEBUG调试非常费力,后来用了emu8086调试方便多了,可以单步调试成功就只是时间问题了。assume cs:codesg ;ds = char_array;L[si] outsite loop;l[di] insite loop;es:bx write memorystack segment d...原创 2019-09-13 20:10:03 · 627 阅读 · 0 评论 -
王爽汇编实验10解答
10.1 显示字符串; multi-segment executable file template.data segment ; add your data here! db 'Welcome to masm!',0endsstack segment dw 128 dup(0)endscode segmentstart:; set segm...原创 2019-09-14 20:18:29 · 346 阅读 · 0 评论 -
王爽课程设计1解答
这道题其实就是把前面的几次练习串在一起就可以。难点在于第二列,要先实现32位除以16位的divdw子程序。不失一般性,这里还是实现了最后3年的结果。; analysis for 3 years for efficiency and it is easy to extend to 21 years.assume cs:codesg stack segment db 32 dup (...原创 2019-09-15 16:10:28 · 279 阅读 · 0 评论 -
王爽汇编实验11解答
这道题比较简单,直接上代码吧。data segment db "Beginner's All-purpose Symbolic Instruction Code.",0endsstack segment dw 128 dup(0)endscode segmentstart:; set segment registers: mov ax, data...原创 2019-09-15 17:08:05 · 290 阅读 · 0 评论 -
王爽汇编实验14解答
这道题本来不难,但是emu8086并不能正确的显示时间,也不能正确的运行键盘中断,我分析是因为emu8086并没有仿真实模式下的DOS的缘故。所以去网上下载了DOSBOX解决了这个问题。DOSBOX可以很好的运行以上的两个程序。而且速度也快了很多。这道题我写了一个CMOS_READ函数来读取CMOS的一个字节,打印函数就用课程设计1用过的show_str 搞定。代码如下:assum...原创 2019-09-22 11:16:53 · 377 阅读 · 0 评论