1楼:匿名用户
l1: push cx ;cx的值压入堆栈保存,它的数值表示总共画多少行
mov cx,300 ;cx=300,意思是循环300次,在屏幕上每行画出300个点
l2:mov ah,0ch ;ah=0ch,int10h的0c号功能是写一个像素点
mov al,12 ;al=12 ,表示颜色
int 10h ;调用中断 int 10h 写一个像素点
loop l2 ;循环,共画cx=300个点
pop cx ;从堆栈中弹出cx
inc dx ;cx加一 ,换行,每行再画300个点
loop l1; ;循环
求详细解释汇编语言
2楼:匿名用户
你看一看这个地址的内容就知道这段程序是干什么了:
http://******blogs.***/magic-cube/archive/2011/10/19/2217676.html
程序的功能就是在屏幕上划竖线。
ah=0ch/int 10h 是在绘图模式中显示一点 ( 也就是写入点像,write graphics pixel ),而 ah=0dh/int 10h 则是读取点像 ( read graphics pixel )。
写入时,要写入位置 x 座标存于 cx 寄存器,y 座标存于 dx 寄存器,颜色存于 al 寄存器。和文字模式相同,萤光幕上的 y 座标是最上面一列为零,越下面越大,x 座标则和数学的定义相同。cx、dx、al 值之范围与显示模式有关。
3楼:可轩
l1: push cx ;;cx 值进栈保护
mov cx,300 ;;cx ←(列号)x座标初值300
l2: mov ah,0ch ;;bios子程序功能号
mov al,12 ;;al←像素值12
int 10h ;;调用bios子程序,在指定坐标位置绘点
loop l2 ;;循环,转l2,当cx值递减至0则结束循环
pop cx ;;出栈,内容送回cx
inc dx ;;(行号)y坐标 dx +1
loop l1 ;;循环,转l1,当cx值递减至0则结束循环
汇编语言中为什么push cx,mov cx,0f000语句有延时的功能
4楼:匿名用户
汇编语言中,push cx,mov cx,0f000语句确有延时的功能,因为不管cpu时钟频率多高,每执行一条指令都要消耗时间。
汇编语言问题,求大神解疑。。。lea si,block mov cx,[si],cx等于多少啊。。。
5楼:匿名用户
块的第一个字节后面的/>程序的各种要素的数目的元素,发现在该块中的各个元素中最小的,其结果的结果
求大神解释这几个汇编词语意思
6楼:新零售小助手
气势汹汹 [qì shì xiōng xiōng ]生词本基本释义 详细释义
[qì shì xiōng xiōng ]汹汹:气势盛大的样子。形容气势凶猛。
出处《荀子·天论》:“君子不为小人之汹汹也辍行。”
例句他听了底下的人一说,不问青红皂白,就~地走了出来。
近反义词
近义词威风凛凛 其势汹汹
汇编语言push ch合法吗?为什么? 20
7楼:匿名用户
不合法,push语句16位下支持的是字操作,ch是字节操作,所以是不合法
附:格式: push oprd
功能: 实现压入操作的指令是push指令
说明:1. oprd为16位(字)操作数,可以是寄存器或存储器操作数.
2. push的操作过程是: (sp)<--(sp)-2,((sp))<--oprd 即先修改堆栈指针sp(压入时为自动减2),然后,将指定的操作数送入新的栈顶位置.
此处的((sp))<--oprd,也可以理解为: [(ss)*16+(sp)]<--oprd 或 [ss:sp]<--oprd
8楼:匿名用户
你说的是cx的ch吗?
在交通灯实验中pouush ax,push cx movcx,0030h什么意思
9楼:匿名用户
有pouush吗?
这是单片机的汇编语言编程的,汇编由于繁琐,理解困难,所以一般应用于实时性高的场合,现在用的不多,学的人也少,如果是单片机编程,c更多一些。
汇编中进栈出栈(push,pop)有什么作用,有点糊涂,请高手点拨,最好详细一点,谢谢!
10楼:阳光上的桥
堆栈有用来暂时保存数据、与子程序通讯两个功能。
功能一、暂时保存数据
比如要调用某子程序,不希望子程序破坏寄存器bx,那么可以这样push bx
call proc***
pop bx
功能二、用来和传递参数给子程序
11楼:连玉枝钱卿
并不是这样,和你理解的恰恰相反
,将寄存器的值进行压栈是为了保护在寄存器中的值。比方说程序在计算所得结果分别放在寄存器a和b中,这时程序调用子程序,子程序在编写过程中用到了a和b两个寄存器,如果直接调用子程序那么a和b中原有的计算值会被覆盖同时影响了程序和子程序的运算结果,这时需要一个地方用来保存原程序的结果就用到了栈
汇编语言中如何将一段程序命名?
12楼:可轩
在程序段入口处加个标号,例如以下程序的 l1,l2:
l1: push cx ;;cx 值进栈保护
mov cx,300 ;;cx ←(列号)x座标初值300
l2: mov ah,0ch ;;bios子程序功能号
mov al,12 ;;al←像素值12
int 10h ;;调用bios子程序,在指定坐标位置绘点
loop l2 ;;循环,转l2,当cx值递减至0则结束循环
pop cx ;;出栈,内容送回cx
inc dx ;;(行号)y坐标 dx +1
loop l1 ;;循环,转l1,当cx值递减至0则结束循环