+ -
当前位置:首页 → 问答吧 → 汇编初学问题

汇编初学问题

时间:2011-11-28

来源:互联网

环境xp ,32位操作系统,。没有装虚拟机,及dos 

我的代码是 保护模式的,还是实模式,还是虚模式??、

问题2:

以下是一个汇编例子,网上搜的



Code Segment
  Assume CS:Code,DS:Code
VAR1 db 35h
RES1 db ?
RES2 db ?
Start: push cs
  pop ds ;使数据段与代码段同段
; 设定字节型变量VAR1的内容为35H,编写程序将VAR1的高4位与低4位分离,分别作为低4位保存在RES1和RES2中,这两个变量高4位置0。
  mov al,VAR1 ;读入字节型变量VAR1的内容
  xor ah,ah
  mov cl,4 ;移位次数
  shl ax,cl
  shr al,cl ;左移4位,拆分高4位与低4位
  mov RES1,ah ;保存原来的高4位
  mov RES2,al ;保存原来的低4位
Exit_Proc: mov ah,4ch ;结束程序
  int 21h
Code ENDS
  END Start ;编译到此结束


哪些是必须出现的, 比如:写c++控制台程序,必须出现 main函数,对吧??

请问以上代码,哪些是必须出现的

作者: chouxiaoya1114   发布时间: 2011-11-28

1. 你的代码,照上面的例子来说,呈现在你的代码前面的是实模式,实际上是虚模式。整个的 dos 环境都是 xp 的虚拟出来的。
2. 作为一个完整的汇编源程序,必须的不仅仅是代码,还包括些必要的语句。具体的还和汇编软件版本有关。从最基本的,也就是你这个源程序展现的,Masm5 格式来说,下面内容必须:
Assembly code
Code Segment  ; 说明一个段开始
  Assume CS:Code  ; 高版本的汇编软件,这个语句也不是必须了
Start:   ; 程序从这里开始运行
  mov ah,4ch ;结束程序
  int 21h
Code ENDS  ; 说明段的结束
  END Start ;  说明程序从 start: 标号处开始运行,源程序有效部分到此为止

作者: zara   发布时间: 2011-11-29

其实上学期学了汇编语言,听的似懂非懂,老师说汇编是栈之间的操作,但是怎么也搞不清楚,我也很想把汇编学好,不知道大家有没有好的书可以看一下~~~谢谢~~~

作者: xihuanjuanfa   发布时间: 2011-11-29

多谢多谢

这些概念 压根就没有说

老师 一来就照着书说,但是问他xp为什么可以跑 int 21h

他倒不出所以然


引用 1 楼 zara 的回复:
1. 你的代码,照上面的例子来说,呈现在你的代码前面的是实模式,实际上是虚模式。整个的 dos 环境都是 xp 的虚拟出来的。
2. 作为一个完整的汇编源程序,必须的不仅仅是代码,还包括些必要的语句。具体的还和汇编软件版本有关。从最基本的,也就是你这个源程序展现的,Masm5 格式来说,下面内容必须:

Assembly code
Code Segment ; 说明一个段开始
As……

作者: chouxiaoya1114   发布时间: 2011-11-29

热门下载

更多