求大神详细解释每一句汇编语言的意思"l1push"cx

2020-11-22 18:24:17 字数 3472 阅读 3215

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则结束循环