网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月20日漏签0天
汇编吧 关注:45,336贴子:164,066
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 10回复贴,共1页
<<返回汇编吧
>0< 加载中...

求大神解答

  • 只看楼主
  • 收藏

  • 回复
  • 晓晓伟
  • 加载执行
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
下边程序是将ASCII码转换成10进制数。想问一下为什么是小于361得数,还有最后几步不算太懂
MOV CX,10
MOV AH ,01H ;键盘输入1~361任意数
INT 21H
CMP AL,0DH
JZ PART2
SUB AL,30H ;将ASCII码转换成10进制数
PUSH AX
MOV AX,HE
MUL CX
MOV HE,AX
POP AX
AND AL,0FH
XOR AH,AH
ADD HE,AX


  • 骚倾
  • 过程
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顶起来


2025-07-20 10:32:07
广告
  • 北极幻狐
  • 基础知识
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
最后几行是*10+个位,类比BCD码转二制
1234 = (((1 * 10 + 2) * 10 + 3) * 10 + 4) 大概就是这个意思
361这个上限没道理
MOV AX,HE
MUL CX
MOV HE,AX
这里用了无符号乘,又没处理DX,所以上限应该是FFFFH
当然HE初值不为0,就另当别论了。


  • 晓晓伟
  • 加载执行
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
DATAS SEGMENT ;数据段
TISHI DB 'Please enter an integer ',13,10,'$'
SUM DW 0
DATAS ENDS
CODES SEGMENT ;代码段
ASSUME CS:CODES,DS:DATAS
START: MOV AX,DATAS ;初始化
MOV DS,AX
MOV DX,OFFSET TISHI
MOV AH,09H
INT 21H
PART1:
MOV CX,10
MOV AH ,01H ;键盘输入1~361任意数
INT 21H
CMP AL,0DH ;如果是回车,表示输入结束
JZ PART2
SUB AL,30H ;将ASCII码转换成十进制数
PUSH AX
MOV AX,SUM
MUL CX
MOV SUM,AX
POP AX
AND AL,0FH ;取低四位
XOR AH,AH ;高位清零
ADD SUM,AX ;合并本次输入
JMP PART1
PART2: MOV AX,SUM
PART3: MOV CX,AX ;求和
DEC AX
ADD SUM,AX ;合并本次输入
LOOP PART3
MOV AX,SUM
MOV CX,0
MOV BX,10
PART4: MOV DX,0
DIV BX
ADD DL,30H ;将十进制转换成ASCII码
PUSH DX
INC CX
CMP AX,0
JNZ PART4
PART5: POP DX
MOV AH,2 ;输出DL中的字符
INT 21H
LOOP PART5
PART6: MOV AH,01H
INT 21H
CMP AL,0DH ;回车结束
JZ EXIT
LOOP PART6
EXIT: MOV AH,4CH ;退出程序
INT 21H
CODES ENDS
END START
@北极幻狐 除了输入那里 其他基本都懂了


  • 北极幻狐
  • 基础知识
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
1+2+3....+362 = 65703 > 65536 > FFFFH
超界截断了


  • 北极幻狐
  • 基础知识
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
1+2+3....+362 = 65703 > 65535 = FFFFH
超界截断了
ca 又手残了


  • 北极幻狐
  • 基础知识
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
PART3: MOV CX,AX ;求和
DEC AX
ADD SUM,AX ;合并本次输入
LOOP PART3
这个循环中,SUM超界了


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 10回复贴,共1页
<<返回汇编吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示