微机 第一次实验

1.1输出5个helloword

;FLENAME:EXA121.ASM
.486
DATA       SEGMENT      USE16
MESG       DB           'HELLO'
           DB           0,0,0    ;
DATA       ENDS
CODE       SEGMENT      USE16
           ASSUME       CS:CODE,DS:DATA
BEG:       MOV          AX,DATA
           MOV          DS,AX
           MOV          ES,AX     ;
           MOV          CX,5
LL1:       MOV          MESG+5,0DH;
           MOV          MESG+6,0AH;
           MOV          MESG+7,'$';
           CALL         DISP
           MOV          MESG+5,0;
           MOV          MESG+6,0;
           MOV          MESG+7,0;
           LOOP         LL1
           MOV          AH,4CH
           INT          21H
DISP       PROC
           MOV          AH,9
           MOV          DX,OFFSET MESG
           INT          21H
           RET
           DISP         ENDP
           CODE         ENDS
                        END   BEG
image

1.2排除语法错误。

下面给出的是一个意想通过比较法完成8位二进制数转换成十进制数送屏幕显示功能的汇编语言源程序,但有很多语法错误。 要求实验者按照原样对源程序进行编辑,汇编后,根据TASM给出的错误信息对源程序进行修改,直到没有语法错误为止。然后进行链接,并执行相应的可执行文件。正确的执行结果是在屏幕上显示:25+9=34。
程序清单


;FILENAME:EXA131.ASM

.486

    DATA SEGMENT USE16

SUM DB ?,?,

MESG DB ‘25+9=’

  DB 0,0

  N1 DB 9,F0H

  N2 DW 25

DATA ENDS

CODE SEGMENT USE16

  ASSUME CS:CODE,DS:DATA

BEG: MOV AX,DATA

  MOV DS,AX

  MOV BX,OFFSET SUM

  MOV AH,N1

  MOV AL,N2

  ADD AH,AL

  MOV [BX],AH

  CALL CHANG

  MOV AH,9

  MOV DX,OFFSEG MEST

  INT 21H

  MOV AH,4CH

  INT 21H

CHANG: PROC

LAST: CMP [BX],10

  JC NEXT

  SUB [BX],10

  INC [BX+7]

  JMP LAST

NEXT: ADD [BX+8],SUM

  ADD [BX+7],30H

  ADD [BX+8],30H

  RET

CHANG: ENDP

CODE ENDS

  END BEG

修改后的程序

;FILENAME   EXA131.ASM
.486
DATA SEGMENT  USE16;SEGMENT关键词有缩写

;用于保存结果的二进制数
SUM     DB  ?,?;多了一个逗号
;用于保存结果的二进制数

;显示的字符串
MESG    DB  '25+9='
        DB  0,0,'$';添加结束符
;显示的字符串

N1      DB  9,0F0H;十六进制开头需要以0开始,但是第二个没有用到,这里保留
N2      DB  25;根据N1和16行可知该数据类型为DB
DATA    ENDS

CODE    SEGMENT USE16
ASSUME  CS:CODE,DS:DATA

BEG:
        MOV AX,DATA
        MOV DS,AX
        MOV BX,OFFSET   SUM
        ;计算N1+N2,并将结果保存到SUM处
        MOV AH,N1
        MOV AL,N2
        ADD AH,AL
        MOV [BX],AH
        ;计算N1+N2,并将结果保存到SUM处

        ;CHANG功能为转发字符串
        CALL CHANG
        ;CHANG功能为转发字符串

        ;调用DOS显示功能
        MOV AH,9
        MOV DX,OFFSET   MESG;是MESG不是MEST
        INT 21H
        ;调用DOS显示功能

        ;调用DOS退出功能
        MOV AH,4CH
        INT 21H
        ;调用DOS退出功能

CHANG:
LAST:

        ;算法:由于只有两位数,每次减10,并且显示位(十位)加1直到SUM小于10
        CMP  byte ptr [BX],10;指定内存单元大小
        JC  NEXT
        SUB  byte ptr [BX],10;指定内存单元大小
        INC byte ptr [BX+7];指定内存单元大小
        JMP LAST
        ;算法:由于只有两位数,每次减10,并且显示位(十位)加1直到SUM小于10

NEXT:
        ;将个位数移到显示位(个位)上

        ;ADD指令不能两个操作数均为内存地址,且AH没有被使用,使用AH来中转
        MOV  AH,[BX]
        MOV  [BX+8],AH
        ;ADD指令不能两个操作数均为内存地址,且AH没有被使用,使用AH来中转

        ;将个位数移到显示位(个位)上

        ;0x30为字符'0'的ASCII码表

        ADD  byte ptr [BX+7],30H
        ADD byte ptr [BX+8],30H

        ;0x30为字符'0'的ASCII码表
        RET
CODE    ENDS
END     BEG
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343