鱼C论坛

 找回密码
 立即注册
查看: 2124|回复: 5

16.1 检测点 大牛帮忙看看代码这样写对不对,谢谢

[复制链接]
发表于 2012-12-27 21:41:46 | 显示全部楼层 |阅读模式
1鱼币
16.1 检测点 大牛帮忙看看代码这样写对不对,谢谢
以下是代码:
  1. assume cs:code
  2. code segment
  3. a dw 1,2,3,4,5,6,7,8
  4. b dd 0start: mov si,0
  5.   mov cx,8
  6.   
  7. s:  mov ax,a[si]
  8.   add word ptr cs:[16],ax
  9.   adc word ptr cs:[18],0
  10.   add si,2
  11.   loop s
  12.   
  13.   mov ax,4c00h
  14.   int 21h
  15.   
  16.   code ends
  17. end start
复制代码

最佳答案

查看完整内容

完全可以哦。你已经领会到标号的精髓啦。就是一个地址而已。 经过编译器编译后,两者的代码完全一样,对于cpu来说,都是一样的。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-12-27 21:41:47 | 显示全部楼层
完全可以哦。你已经领会到标号的精髓啦。就是一个地址而已。
12.27.21.49.jpg
12.27.21.51.jpg

经过编译器编译后,两者的代码完全一样,对于cpu来说,都是一样的。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-12-27 23:53:36 | 显示全部楼层

听到luk这么说,俺很兴奋。多谢多谢。但是这编译后,执行后显示的怎么是乱码?还有鱼C的写的直接定址表例题,在我的WIN7本本上编译也不能过,我调示老久还是不行啊。望指点一下,再谢!
鱼C的代码 p282.asm:
  1. assume cs:code

  2. code segment
  3. start:  
  4.                 mov al,0eh

  5.         call showbyte

  6.         mov ax,4c00h
  7.         int 21h

  8. ;子程序:
  9. ;用al传送要显示的数据

  10. showbyte:
  11.         jmp short show

  12.         table db '0123456789ABCDEF'        ;字符表

  13. show:   push bx
  14.         push es

  15.         mov ah,al
  16.         shr ah,1           
  17.         shr ah,1
  18.         shr ah,1
  19.         shr ah,1                            ;右移4位,ah中得到高4位的值
  20.         and al,00001111b                ;al中为低4位的值

  21.         mov bl,ah
  22.         mov bh,0
  23.         mov ah,table[bx]                ;用高4位的值作为相对于table的偏移,取得对应的字符

  24.         mov bx,0b800h
  25.         mov es,bx
  26.         mov es:[160*12+40*2],ah

  27.         mov bl,al
  28.         mov bh,0
  29.         mov al,table[bx]                ;用低4位的值作为相对于table的偏移,取得对应的字符
  30.         
  31.         mov es:[160*12+40*2+2],al

  32.         pop es
  33.         pop bx
  34.         ret

  35. code ends
  36. end start
复制代码
编译结果:

QQ截图20121227235208.png

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-12-28 13:18:08 | 显示全部楼层
12.28.13.16.jpg {:2_27:}没啥问题啊。装个虚拟机吧。http://tieba.baidu.com/p/1027487547
win7搞16位的汇编,实在有点蛋疼。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-12-28 17:27:37 | 显示全部楼层
lukelqz 发表于 2012-12-28 13:18
没啥问题啊。装个虚拟机吧。http://tieba.baidu.com/p/1027487547
win7搞16位的汇编,实在有点蛋疼 ...

luke好给力,THKS VM !
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-12-28 20:48:40 | 显示全部楼层
我算是服了我的本本了,装了虚拟机,老样子。照样是编译不通过。郁闷,打击我的积极性。算了,跳过!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-4 09:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表