汇编实验报告(一)
一開始弄不明白為什么每一條的偏移地址有時候是3有時候是2,后來明白了指令算一個,寄存器算一個,值算一個,兩個寄存器只算一個。
第一次沒逐條編譯直接崩潰了,發現是個死循環。
第二次沒有給CS和IP賦值,導致ax的值沒有變化,CS和IP的值也不對。
第三次對了,然后2的8次方就是16進制里面的0100.
查這個生產日期,一開始我沒懂怎么做。別人教我0:0 ff 的意思,就是從指定的內存位置開始讀取,從那個位置開始讀到地址ff處。題目中FFF00H~FFFFFH 可以算偏移地址是ff。FFF00H就是FFF0H乘16,,從FFF00H到FFFFFH要再加上偏移地址ff。
一開始沒注意,啥都沒看出來,后來才發現會有圖案出現,挺好玩的嘿。
用d查發現b810不是我改的值,就很好奇,之后改別的地址是可以的,查了一下,貌似是因為b810控制的顯存,用d的時候屏幕刷新了,所以b810那的值又變回去了,就不是我改的值了。
轉載于:https://www.cnblogs.com/zxy666/p/9991855.html
總結
- 上一篇: 设计过程中常见的 10 个小问题
- 下一篇: 【.NET Core项目实战-统一认证平