首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

汇编语言 简单查找和统计有关问题 请帮忙修改 感谢

2012-02-23 
汇编语言 简单查找和统计问题 请帮忙修改 感谢从num单元开始依次存有9个有符号数 要求实现找出最小的放min

汇编语言 简单查找和统计问题 请帮忙修改 感谢
从num单元开始依次存有9个有符号数 要求实现找出最小的放min 还要把负数个数显示到屏幕上。
我是初学者 很多不懂 我写完后 无语法错误但出不来结果 请高手帮忙修改
.486
DATA SEGMENT USE16
  NUM DB -1,1,-2,2,-3,3,-4,4,-5
  MIN DB ?
  BUF DB ?,'$'
DATA ENDS
CODE SEGMENT USE16
 ASSUME CS:CODE,DS:DATA
BEG: MOV AX,DATA
  MOV DS,AX
  MOV CX,8
  MOV SI,OFFSET NUM
  MOV BL,0
LAST: MOV AL,[SI]
  MOV AH,[SI+1]
  CMP AL,AH
  JG NEXT1
  MOV [SI],AH
  MOV [SI+1],AL
NEXT1: CMP BYTE PTR[SI],0
  JG NEXT2
  INC BL 
NEXT2: INC SI
  LOOP LAST 
  MOV AL,BYTE PTR [SI]
  MOV MIN,AL
  CMP BYTE PTR[SI],0
  JG DONE
  INC BL
DONE: MOV BUF,BL
  MOV AH,9
  MOV DX,OFFSET BUF
  INT 21H
  MOV AH,4CH
  INT 21H
CODE ENDS
  END BEG

[解决办法]
线性依次两两比较NUM,最好不要将个数硬编码,而是采用LENGTHOF的方法。
输出时注意符号的显示判断,比如最高位为1.
[解决办法]
你的这个程序我在MASMPlus里面运行过了,源程序有两个错误BEG:MOV BX,DATA里面error A2004: symbol type conflict, END BEG处warning A4023: with /coff switch, leading underscore required for start address : BEG具体的我也想不明白

热点排行