在我们大学的时候,老师都会让我们用C 语言、JAVA语言输出打印一些图形,这篇文章我们就来讨论一下怎么用AT&T汇编打印一个三角形。
我们先来看一下三角形,假设我们要打印6行,我们可以发现,第一行前面要打印的空格数比行数少1,也就是5行,然后每一行要打印的空格数比前一行少1个。第一行要打印一个×号,每行多2个,也就是行数乘以2再减去1。最后每行的×号打印完之后再打印一个换行符。
好了,我们可以试着编一下代码:
#print_triangle.s
#we want to print n line triangle(n should be odd)
#The first line we should print (n-1) space and one *
#
.section .data
space:
.string " "
len=.-space
star:
.string "*"
new_line:
.string "\n"
.section .text
.globl _start
_start: