打出一个平行四边形的C语言程序,用汇编语言编写一个平行四边形输出程序,图形如下...

本文提供了一段用汇编语言编写的程序,用于在屏幕上输出一个平行四边形。通过调整常量,可以改变平行四边形的位置、高度、长度和字符。示例中展示了不同参数设置的运行结果。
摘要由CSDN通过智能技术生成

ITSLEFT=30;四边形左下角位置所在列

ITSBUTTOM=5;四边形左下角位置所在行

ITSHIGH=10;高

ITSLEN=9;底边长

ITSCHAR='8';字符

要定义四边形的左上角位置和形状、及字符,只需修改上述常量后重新编译运行即可

代码后附上调试结果截图

;=====================================================================

;FILE: SHOW88.ASM

;To compile, use: ml -c SHOW88.ASM

;To link, use: link16 SHOW88.OBJ

;Author: HHHso 2013-05-03 8:58

SSEG SEGMENT

DB 100H DUP(0)

SSEG ENDS

DSEG SEGMENT

;POS DB COL,ROW,CHAR

ITSLEFT=30;四边形左下角位置所在列

ITSBUTTOM=5;四边形左下角位置所在行

ITSHIGH=10;高

ITSL

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是汇编语言输出一个平行四边形的示例代码: ``` section .data ; 定义需要输出的字符和空格 char db '*' space db ' ' section .text global _start _start: ; 输出第一行 mov ecx, 10 ; 设置输出字符的个数 mov edx, ecx ; 复制字符个数到 edx mov ebx, 1 ; 设置输出到标准输出 mov eax, 4 ; 设置系统调用号为 4 (sys_write) mov esi, char ; 设置要输出的字符 loop1: mov edi, esi ; 复制字符指针到 edi mov ecx, edx ; 复制字符个数到 ecx rep movsb ; 复制字符到输出缓冲区 mov eax, 4 ; 设置系统调用号为 4 (sys_write) mov ecx, space ; 设置输出空格 mov edx, 1 ; 设置输出一个空格 int 0x80 ; 调用系统调用 dec edx ; 减少输出字符个数 cmp edx, 0 ; 比较 edx 是否为 0 jne loop1 ; 如果不为 0 则跳转到 loop1 ; 输出第二行 mov ecx, 9 ; 设置输出字符的个数 mov edx, ecx ; 复制字符个数到 edx mov ebx, 1 ; 设置输出到标准输出 mov eax, 4 ; 设置系统调用号为 4 (sys_write) mov esi, space ; 设置要输出的空格 loop2: mov edi, esi ; 复制空格指针到 edi mov ecx, edx ; 复制字符个数到 ecx rep movsb ; 复制空格到输出缓冲区 mov eax, 4 ; 设置系统调用号为 4 (sys_write) mov ecx, char ; 设置输出字符 mov edx, 1 ; 设置输出一个字符 int 0x80 ; 调用系统调用 dec edx ; 减少输出字符个数 cmp edx, 0 ; 比较 edx 是否为 0 jne loop2 ; 如果不为 0 则跳转到 loop2 ; 输出第三行 mov ecx, 10 ; 设置输出字符的个数 mov edx, ecx ; 复制字符个数到 edx mov ebx, 1 ; 设置输出到标准输出 mov eax, 4 ; 设置系统调用号为 4 (sys_write) mov esi, char ; 设置要输出的字符 loop3: mov edi, esi ; 复制字符指针到 edi mov ecx, edx ; 复制字符个数到 ecx rep movsb ; 复制字符到输出缓冲区 mov eax, 4 ; 设置系统调用号为 4 (sys_write) mov ecx, space ; 设置输出空格 mov edx, 1 ; 设置输出一个空格 int 0x80 ; 调用系统调用 dec edx ; 减少输出字符个数 cmp edx, 0 ; 比较 edx 是否为 0 jne loop3 ; 如果不为 0 则跳转到 loop3 ; 输出第四行 mov ecx, 9 ; 设置输出字符的个数 mov edx, ecx ; 复制字符个数到 edx mov ebx, 1 ; 设置输出到标准输出 mov eax, 4 ; 设置系统调用号为 4 (sys_write) mov esi, space ; 设置要输出的空格 loop4: mov edi, esi ; 复制空格指针到 edi mov ecx, edx ; 复制字符个数到 ecx rep movsb ; 复制空格到输出缓冲区 mov eax, 4 ; 设置系统调用号为 4 (sys_write) mov ecx, char ; 设置输出字符 mov edx, 1 ; 设置输出一个字符 int 0x80 ; 调用系统调用 dec edx ; 减少输出字符个数 cmp edx, 0 ; 比较 edx 是否为 0 jne loop4 ; 如果不为 0 则跳转到 loop4 ; 退出程序 mov eax, 1 ; 设置系统调用号为 1 (sys_exit) xor ebx, ebx ; 设置返回值为 0 int 0x80 ; 调用系统调用 ``` 运行该程序可以输出以下平行四边形: ``` * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值