wyuri 发表于 2016-12-17 19:43:13

人造人 发表于 2016-12-17 13:07
执行完12 行 mov cs:, ax
此时,标号s 处变成了向上转移n个字节
s0:jmp short s 执行完后,去到


你没懂我的意思, 复制指令我懂,但是S处 ip=8, 我们要向前10个字节, S处上面有 mov ax,0 三个字节,mov ax,4c00h   int 21h5个字节,加起来总共8个字节,而要向上10个字节,多的那两个字节怎么没有执行?去哪了?    还有一个重要的问题,开始处 就是指令的入口处start出为什么ip不是0。 我问的您一个也没解释

wyuri 发表于 2016-12-17 19:47:20

人造人 发表于 2016-12-17 13:15
还是那句话
你调试一下不就知道了

这些天一直都在请教您,想发个红包感谢感谢都平台,你看看留个什么带红包的平台,不然真不知道怎么感谢您

人造人 发表于 2016-12-17 20:06:41

wyuri 发表于 2016-12-17 19:47
这些天一直都在请教您,想发个红包感谢感谢都平台,你看看留个什么带红包的平台,不然真不知道怎么感谢您

在这里交流完全是出于学习目的
别人不是必须给你回答问题
所以你问的问题最好要有挑战性
有很多问题前人早已问过,并且已经解决
百度是万能的
建议你看看
提问的智慧

人造人 发表于 2016-12-17 20:09:52

wyuri 发表于 2016-12-17 19:43
你没懂我的意思, 复制指令我懂,但是S处 ip=8, 我们要向前10个字节, S处上面有 mov ax,0 三个字节,m ...

要解释这个问题,就要给你讲机器语言,讲什么是转移指令了,我觉得没有必要
最主要的原因是,这不是一两句话可以讲的清楚的
真的想学习这些的话
^_^
百度

人造人 发表于 2016-12-17 20:18:40

本帖最后由 人造人 于 2016-12-17 20:19 编辑

wyuri 发表于 2016-12-17 19:34
我调试完的确知道执行哪个了,但是究竟为什么啊

你有没有问过自己这样一些问题?
计算机为什么需要按一下按钮(电源键),才能开机,为什么移动一下鼠标屏幕上就有了回应
在汇编语言中
mov ax, 100
执行完,为什么cpu的ax寄存器中的值就变成了100
寄存器又是什么啊?
它是如何变成100的?
我想这么写
mov 100, ax
为什么就不行?
汇编语言究竟是什么啊?
机器语言又是什么啊?
为什么非要有这些?就不能是其他吗?
引用王爽老师的话:

wyuri 发表于 2016-12-22 14:44:28

人造人 发表于 2016-12-17 20:18
你有没有问过自己这样一些问题?
计算机为什么需要按一下按钮(电源键),才能开机,为什么移动一下鼠 ...

我是真的有疑惑不知道算不算矫情。
问题是王爽汇编第十章的实验10的第一题,有些内容题目根本就没有给,为什么要当作给了,如果当作给了,160*8+3*2就没必要了,直接算出来不就得了,而且提示给了,说不用了解结构也可以做,而现在答案给的明明就是了解结构后的答案啊。我是真蒙,

wyuri 发表于 2016-12-22 14:46:29

人造人 发表于 2016-12-17 20:06
在这里交流完全是出于学习目的
别人不是必须给你回答问题
所以你问的问题最好要有挑战性


对啊,就是因为别人没有义务回答我这些翻来覆去的基础题,我才过意不去,猜想弄个红包平台让自己安心点^_^不过真的真的很感谢你,这么有耐心,谢谢

wyuri 发表于 2016-12-22 14:53:40

人造人 发表于 2016-12-17 20:18
你有没有问过自己这样一些问题?
计算机为什么需要按一下按钮(电源键),才能开机,为什么移动一下鼠 ...

我觉得这不是封装的么,寄存器里电脑没用的系统空间就可以放东西啊,   100输入电脑不找不到100的寄存器,不知道往哪里存吧。

人造人 发表于 2016-12-22 18:19:19

wyuri 发表于 2016-12-22 14:44
我是真的有疑惑不知道算不算矫情。
问题是王爽汇编第十章的实验10的第一题,有些内容题目根本就没有给, ...


你理解错题了
题目并不是告诉你写这个程序可以不了解显存的结构,题目指的是可以调用这个程序显示字符串(在不了解显存的结构的情况下,只要你会调用这个子程序就可以显示字符串)


既然要显示字符串,学到现在你不知道是b800 吗?


你学到哪了?你对显存了解多少?

人造人 发表于 2016-12-22 18:24:31

wyuri 发表于 2016-12-22 14:53
我觉得这不是封装的么,寄存器里电脑没用的系统空间就可以放东西啊,   100输入电脑不找不到100的寄存器 ...

什么都不是必然,什么也不是偶然

真的想了解计算机就去了解吧

《穿越计算机的迷雾》
《编码的奥秘》
这两本书告诉你计算机是什么,为什么计算机可以计算

《x86汇编语言 从实模式到保护模式》告诉你怎样使用32位保护模式

wyuri 发表于 2016-12-24 21:21:40

人造人 发表于 2016-12-22 18:24
什么都不是必然,什么也不是偶然

真的想了解计算机就去了解吧


还有一个问题要问您

wyuri 发表于 2016-12-24 21:23:03

人造人 发表于 2016-12-22 18:24
什么都不是必然,什么也不是偶然

真的想了解计算机就去了解吧


谢谢,正想看完看您给我推荐的最后一本

wyuri 发表于 2016-12-24 21:26:04

人造人 发表于 2016-12-22 18:19
你理解错题了
题目并不是告诉你写这个程序可以不了解显存的结构,题目指的是可以调用这个程序显示字符 ...

其实我在想的是,明明知道结构为什么装不知道,直接算出8行3列的不就得了么,那样还要乘一遍还要用多寄存器干嘛,主要就是想问这个编的时候就蒙了,根本没有用mul,直接就写数了

兰陵月 发表于 2016-12-24 21:29:35

人造人 发表于 2016-12-22 18:24
什么都不是必然,什么也不是偶然

真的想了解计算机就去了解吧


你又推荐这两本书,哈哈,你已经向我推荐过了,哈哈

兰陵月 发表于 2016-12-24 21:30:53

wyuri 发表于 2016-12-24 21:26
其实我在想的是,明明知道结构为什么装不知道,直接算出8行3列的不就得了么,那样还要乘一遍还要用多寄存 ...

要从计算机运行的角度去思考问题的处理~

如果用人的思维去处理的,会陷入思维混乱的。

人造人 发表于 2016-12-24 23:35:01

wyuri 发表于 2016-12-24 21:26
其实我在想的是,明明知道结构为什么装不知道,直接算出8行3列的不就得了么,那样还要乘一遍还要用多寄存 ...

分层设计,或者说是模块化设计思想
如果你要关心显存的结构,那你就写不了大型应用程序
顶多算是驱动程序,供顶层调用
在顶层不关心你是如何实现的
顶层的应用程序只关心应用

学过Windows程序设计吗?
在Windows下我不关心,一个窗口是怎样画出来的,字符串又是怎么显示出来的(也不应该关心这些,如果要关心这些,应用程序就没办法写了,这些就够关心的了)
我只是知道调用一个api可以画一个窗口,调用一个api可以显示一个字符串,至于是怎样实现的,应用程序不应该关心
应用程序只关心应用

人造人 发表于 2016-12-24 23:43:51

wyuri 发表于 2016-12-24 21:21
还有一个问题要问您

我真的建议你走一走弯路拓宽一下你的知识面
我问你,ASCII字符与数字究竟有什么区别?

wyuri 发表于 2016-12-25 15:49:34

人造人 发表于 2016-12-24 23:43
我真的建议你走一走弯路拓宽一下你的知识面
我问你,ASCII字符与数字究竟有什么区别?

数字是16进制的数,ASCII码是非十六进制的数,ASCII码人懂转化为16进制转二进制 机器码懂

wyuri 发表于 2016-12-25 15:58:39

人造人 发表于 2016-12-24 23:43
我真的建议你走一走弯路拓宽一下你的知识面
我问你,ASCII字符与数字究竟有什么区别?

题目只是让显示数,没有让求平均数,如果求平均数然后再显示出来用这种方法,但就是显示为什么不这么做,我想的是如果就为了显示可不可以就按照显示年份的方法那么做      就想问问您这想法可行不可行

wyuri 发表于 2016-12-25 16:01:19

兰陵月 发表于 2016-12-24 21:30
要从计算机运行的角度去思考问题的处理~

如果用人的思维去处理的,会陷入思维混乱的。

你好,想问问您,题目只是让显示数,没有让求平均数,如果求平均数然后再显示出来用这种方法,但就是显示为什么不这么做,我想的是如果就为了显示可不可以就按照显示年份的方法那么做      就想问问您这想法可行不可行
页: 1 2 3 4 [5] 6 7 8 9 10 11
查看完整版本: 王爽汇编问题