怎么编写你的第一个汇编程序

一、准备 集成实验环境

1.Masm for windows下载传送门

下面这样的:怎么编写你的第一个汇编程序_第1张图片

在左边可以看到 常见问题的解答和指令的查询,以及一些入门程序的实例。

2.编写第一个汇编程序
源代码:

DATAS SEGMENT
    ;此处输入数据段代码  
    STRING DB 'Hello world!',0DH,0AH,'$'	;0DH,0AH分别为 回车符 和 换行符 的ASCII码,加'$'是因为DOS软中断调用的字符串输出功能要求被显示的字符串以'$'作为结束标志
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    ;此处输入代码段代码
    LEA  DX,STRING
    MOV AH,09H							
    INT 21H								;DOS软中断-调用 字符串输出 功能(功能号:09H)
    MOV AH,4CH
    INT 21H								;DOS软中断-调用 返回DOS 功能(功能号:4CH)
CODES ENDS
    END START

怎么编写你的第一个汇编程序_第2张图片
保存 运行
怎么编写你的第一个汇编程序_第3张图片

二、实践

1.绘制一个简约风格的小绿块儿

  1. 说明:在VISTA、Windows 7及以上的操作系统下绘图程序
  2. 必须单击【工具/选项】菜单 设置软件的WinXP兼容模式 才能正常运行
  3. 此程序省略了数据段、附加段和堆栈段
  4. INT 10 H( 维基百科 )——BIOS中断调用第10H功能(包括设置显示模式,字符和字符串输出,和基本图形(在图形模式下的读取和写入像素)功能)
    例如:
功能 功能代码 参数 返回
设置显示模式 AH=00H AL=显示模式 AL=显示模式标志/CRT控制模式字节
写图形像素 AH=0CH AL=颜色·,BH=页码,CH=x(行号),DX=y(列号) 无返回值
  1. 我们将用循环的嵌套实现图中的矩形的绘制,程序中图形的大小:行方向长度为100个单位(50-149列),列方向长度为100个单位(100-199行)

源代码:

CODES SEGMENT
   ASSUME CS:CODES
START:
  MOV AH,00
  MOV AL,12H
  INT 10H					 ;设置640*480 16色彩色分辨率
  MOV DX,50
BACK_1:
  MOV CX,100
BACK_2:
  MOV AH,0CH
  MOV AL,72H				;像素为绿色
  MOV BH,0
  INT 10H
  INC CX
  CMP CX,200
  JNZ BACK_2
  INC DX
  CMP DX,150
  JNZ BACK_1
  HLT
CODES ENDS
  END START


怎么编写你的第一个汇编程序_第4张图片
保存运行
在这里插入图片描述
怎么编写你的第一个汇编程序_第5张图片

你可能感兴趣的:(汇编语言,嵌入式)