




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、汇编语言程序设计(第二版)钱晓捷习题答案第二章()2.1(1)AX1200h (2)AX0100h (3)AX4C2Ah (4)AX3412h (5)AX4C2Ah (6)AX7856h (7)AX65B7h 2.2(1) 两操作数类型不匹配 (2) IP指令指针禁止用户访问 (3) 立即数不允许传给段寄存器 (4) 段寄存器之间不允许传送 (5)
2、160; 两操作数类型不匹配 (6) 目的操作数应为 BP (7) 源操作数应为 BX+DI (8) 立即数不能作目的操作数2.3lea bx,table ;获取table的首地址,BX200H mov al,8 ;传送欲转换的数字,AL8 xlat
3、160; ;转换为格雷码,AL12H 2.4 mov ax,8057h push ax mov ax,0f79h push ax pop bx ;bx=0f79h pop bx ;DS:0f79h=8057
4、h 2.6AL=89h CF ZF SF OF PF AL=12h 1
5、0 0 1 1 AL=0afh 0 0 1
6、60; 0 1 AL=0afh 1 0 1 0 1 AL=00h
7、0; 0 1 0 0 1 AL=0ffh 0 0
8、 1 0 1 AL=00h 0 1 0
9、; 0 1 堆栈是一种按“先进后出”原则存取数据的存储区域。 堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH和POP。2.5 2.7 W=X+Y+24-Z2.8(1)ADD DX,BX (2)ADD AL,BX+SI (3)ADD BX+0B2H,CX (4)ADD WORD PTR 0520H,3412H (5)ADD AL,0A0H 2.9;为了避免与操作数地址混淆,将题中X,Y,Z,V 字操作数改为A,B,
10、C,D mov ax,X ;ax=A imul Y ;dx,ax = A*B (将操作数看作符号数,以下同)
11、 mov cx,ax mov bx,dx ;bx,ax <- dx,ax =A*B mov ax,Z ;a
12、x = C cwd ;dx,ax =C (扩展符号后为双字) add cx,ax adc bx,dx
13、; ;bx,cx <- bx,cx+dx,ax=A*B+C sub cx,540 sbb bx,0 ;bx,cx<- A*B+C-540 mov ax, V &
14、#160;;ax= D cwd ;dx,ax= D (扩展符号后为双字) sub ax, cx sbb dx, bx
15、0; ;dx,ax = dx,ax - bx,cx = D-(A*B+C-540) idiv X ;运算结果:D-(A*B+C-540h)/A ;ax存商,dx存余数 2.10;(1)xchg的操作数不能是立即数 (2不能对CS直接赋值 (3)两个操作数不能都是存储单元 (4)堆栈的操作数不能是字节量 (5)adc的操作数不能是段寄存器 (6)没有确定是字节还是字操作 (7)in不支持超过FFH的直接寻址 (8)out只能以AL/AX为源操作数 第二章(
16、02) 2.11;指令AX的值CFOFSFZFPFMov ax,1407h1470h-And ax,ax1470h00000Or ax,ax1470h00000Xor ax,ax000011Not ax0ffffh-Test ax,0f0f0h0ffffh0010
17、1注意: 1. mov, not指令不影响标志位 2. 其他逻辑指令使CF=OF=0, 根据结果影响其他标志位。
18、60; 第2章(03)2.12;指令
19、 注释 执行结果 CF OF SF ZF PF mov si,ax si=ax
20、; si=0008h - - - - - shl si,1 si=2*ax si=0010h
21、160; 0 0 0 0 0 add si,ax si=3*ax si=0018h 0 0 0 &
22、#160; 0 1 mov dx,bx dx=bx dx=0010h - - - - - mov cl,03h
23、; cl=03h - - - - - shl dx,cl
24、160; dx=8*bx dx=0080h 0 u 0 0 0 sub dx,bx dx=7*bx
25、; dx=0070h 0 0 0 0 0 add dx,si dx=7*bx+3*ax dx=0088h
26、160; 0 0 0 0 1 注意: 1. 左移N次相当于乘于2的N次方,右左移N次相当于除乘于2的N次方。 2. 移位指令根据是否移入“1”到CF,设置CF,根据移位后的结果影响SF,ZF,PF。根据最高符号位是否改变设置OF,如改变 OF=1. 3. u 表示无定义, - 表示无影响。2.13; (1) ;不考虑进位mov bl,al mov cl,3 shl al,cl add al,bl ;shl bl,1 add al
27、,bl ;考虑进位xor ah,ah mov bx,ax mov cl,3 shl ax,cl add ax,bx ;shl bx,1 add ax,bx (2) 数字09的ASCII码是:30h39h 非压缩BCD码的09是:00h09h 方法一: and al,0fh ;实现ASCII到非压缩BCD码的转换 or al,30h ;实现非压缩BCD码到ASCII的转换 方法二: xor al,30h ;求
28、反D5D4位,其他不变 ;即高4位为3,则变为0;高4位为0,则变为3 mov cl,4 again: shr dx,1 ;实现逻辑右移 ;采用“sar dx,1”,则实现算术右移 rcr ax,1 dec cl jnz again 2.14; (1)用sar编写 2.20; 8086的条件转移的转移范围:在当前指令地址的 +127- -128之内。 如条件转移的转移范围超出此范围,可在此范围内安排
29、一条无条件转移,再转移到范围外的目标地址。2.21; (1)JMP Bx ;转移的有效地址EA=BX=1256h (2)JMP tABLEBx ;转移的有效地址EA=ds:20a1h+1256h=232f7=3280h (3)JMP Bxsi ;转移的有效地址EA=ds:1256h+528fh=264e5h=2450h2.22; (1) xor ax,1e1eh je equal &
30、#160; ;AX1e1eh(异或后为0) (2)test al,10000001b jnz there ;AL的D0或D7至少有一位为1 (3) cmp cx,64h jb there ;CX(无符号数) 64h 2.23;mov cx,0 不循环,
31、因为一进入循环就判 cx=0? 如cx=0 就退出循环 delay:loop delay 2.24; (1)若DX > DI,转到above执行 cmp dx,di ja above ;jnbe above (2)若AX > SI,转到greater执行 cmp ax,si
32、0; jg greater ;jnle greater (3)若CX = 0,转到zero执行 cmp cx,0 jcxz zero jz zero (4)若AXSI产生溢出,转到
33、overflow执行; cmp ax,di jo overflow (5)若SIAX,转到less_eq执行; cmp si,ax cmp ax,si
34、; jle less_eq jge less_eq (6)若DIDX,转到below_eq执行。 cmp di,dx cmp dx,di
35、160; jbe below_eq jae below_eq2.25; 答:将首地址为array得20个字的数组求和,并将结果存入 total 单元中。2.26; (1) mov si,0 mov dl,stringsi ;第1个字符送dl寄存器 mov si,5
36、160; mov dh,stringsi ;第6个字符送dh寄存器 (2) xor si,si ;si清零 mov al,buffersi
37、0; ;第一字节 inc si mov ah,buffersi ;第二字节 mov cl,4 shl ah,cl ;BCD码移到高半字节
38、160; or al,ah ;组合成压缩BCD码 mov dl,al
39、160; ;存入dl寄. inc si mov al,buffersi ;第三字节 inc si mov ah,buffersi ;第四字节 mov cl,4 shl ah,cl
40、0; ;BCD码移到高半字节 or al,ah ;组合成压缩BCD码 mov dh,al ;存入dh寄. (3)
41、0; test dx,0f000h jz zero mov ax,-1 jmp done zero: mov ax,0 done: ret (4)
42、; lea bx,buffer1 lea dx,buffer2 mov cx,8 ;8个字节 xor si,si
43、60; ;si=0 clc ;CF=0 (5) mov ax,0b800h
44、; mov ds,ax ;段地址 xor si,si ;地址偏移量si=0 xor dx,dx ;和的高字dx=0 mov cx,99
45、; ;加的次数 mov ax,si ;第一个数 again: inc si ;指向下一个字单元 inc si add ax,si
46、160; ;加下一个数 jnc noc ;无进位转 inc dx ;有进位dx=dx+1 noc: dec cx
47、; ;次数-1 jnz cx,again ;非0继续加 ret (6) mov si,offset string mov cx,8000h
48、160; ;32k=215=8000h again: cmp si,$ jnz next mov si,20h ;if si=$ si<-
49、;next: inc si loop again (7) xor si,si ;si<-0 mov cx,100
50、; ;循环次数 again: dec arraysi dec cx jnz again (8) xor si,si ;si<-0
51、160; coun: cmp stringsi,$ je done inc si jmp coun done: ret
52、60; 2.27; (1)使CF0 : clc ; and ax,ax ;or ax,ax
53、 (2)使AX0 : xor ax,ax ; and ax,0 ;mov ax,0 (3)同时使AX0和CF0: and ax,0 ;xor ax,ax ;sub ax,ax2.29; 压缩BCD码加法:AXAXBX 出口参数:AXBCD码和2.24; okmsg db OK, $errmsg db Error !
54、 Overflow !, $ mov ax,X sub ax,Y jo overflow mov dx,offset okmsg jmp next overflow: m
55、ov dx,errmsg next: mov ah,9 int 21h 错误: mov ax,X sub ax,Y jo overflow mov dx,offset okmsg
56、160; okmsg db OK, $ mov dx,errmsg ;错误1:数据定义在代码中 mov ah,9 i
57、nt 21h overflow: errmsg db Error ! Overflow !, $ mov dx,errmsg ; 错误2:缺少JMP指令 mov ah,9 int 21h
58、2.37; ;xt237.asm.model small.stack.dataarray db 255db 0array1 db 255 dup('$')array2 db 0dh,0ah,'$' .code.startupmov ah,0ah ; 键盘输入字符串mov dx,offset arrayint 21hmov dx,offset array2 ; 回车换行mov ah,09hint 21hmov bx,offset array1again: mov al,bxcmp al,'$'jz donecmp
59、 al,'a' ; 小于a和大于z的字符不是小写字母jb nextcmp al,'z'ja nextsub al,20h ; 在a和z之间的字符才是小写字母,转换为大写mov bx,al ; 保存到原位置next: inc bxjmp againdone: mov dx,offset array1mov ah,09hint 21h.exit 0end第三章(01) 3.1; 硬指令:每个硬指令就是一个处理器指令,在CPU执行时产生相应功能; 伪指令:伪指令
60、并不产生处理器指令,它通常用于辅助汇编程序对源程序进行汇编。3.2;3.5; 编辑 文本编辑程序 汇编语言源程序.asm 汇编 汇编程序 目标模块文件.obj 连接
61、连接程序 可执行文件.exe或.com 调试 调试程序 应用程序3.6; ;xt236.asm 简化段定义格式 .model small ;定义程序的存储模式(小
62、模式) .stack ;定义堆栈段(默认1024个字节) .data ;定义数据段 str1 ab Input Number:09 : ,0dh,0ah,$ str2
63、160; ab Error!,0dh,0ah,$ .cade ;定义代码段 .startup ;说明程序的起始点,建立ds,ss的内容。
64、 mov ah,09h ;显示str1字符串 mov dx,offset str1 int 21h gtekey: mov ah,1
65、; ;调用BIOS判断按键功能 int 16h jz getkey ;如 zf = 0,无键按下,等待
66、160; cmp al,0 ;有键按下,键值与0比较 jb error ;如 < 0,出错处理 cmp al, 9
67、; ;有键按下,键值与 9比较 ja error ;如 9,出错处理 mov ah,02h ;调用DOS显示字符功能,显示该数字
68、160; mov dl,al int 21h .exit 0 ;终止程序执行,返回DOS error: mov ah,09h
69、60; ; 出错,调用DOS 功能显示str2字符串 mov dx,offset str2 int 21h jmp getkey ;等待按键
70、 end ; 汇编结束3.7; ;xt307.asmstack segment dw 512 dup(?) stack endsdata segmentarray db 255db
71、 0array1 db 255 dup('$')array2 db 0dh,0ah,'$' data endscode segment 'code'assume cs:code, ds:data, ss:stackstart: mov ax,data mov ds,ax mov ah,0ah ; 键盘输入字符串mov dx,offset arrayint 21hmov dx,offset array2 ;
72、 回车换行mov ah,09hint 21hmov bx,offset array1again: mov al,bxcmp al,'$'jz donecmp al,'a' ; 小于a和大于z的字符不是小写字母jb nextcmp al,'z'ja nextsub al,20h ; 在a和z之间的字符才是小写字母,转换为大写mov bx,al ; 保存到原位置next: inc bxjmp againdone: mov dx,offset a
73、rray1mov ah,09hint 21hmov ax,4c00hint 21hcode endsend start3.9; (1) mov byte ptr bx,1000 ;1000超出了一个字节范围 (2) mov bx,offset mywordsi;寄存器的值只有程序执行时才能确定, ;而offset是汇编过程计算偏移地址,故无法确定 ;可以改为lea bx,mywordsi (3) cmp mybyte1,mybyt
74、e2 ;两个都是存储单元,指令不允许 (4) mov al,mybyte1+mybyte2 ;变量值只有执行时才确定,汇编过程不能计算 (5) sub al,myword ;字节量AL与字量myword,类型不匹配 (6) jnz myword ;Jcc指令只有相对寻址方式,不支持
75、间接寻址方式3.10; 前者为“与”操作硬指令助记符,可汇编成机器代码。 后者为逻辑运算符,在汇编时进行“与”运算,产生具体数值。3.11; 注:对于逻辑运算,有关操作数可化为二进制数。 (1)mov al,23h AND 45h OR 67h ; 67h (2)mov ax,1234h/16 + 1Oh ; 13
76、3h (3)mov ax,NOT(65535 XOR 1234h) ; 1234h (4)mov al, LOW 1234h OR HIGH 5678h ; 76h (5)mov ax,23h SHL 4 ; 0234h
77、(6)mov ax, 1234h SHR 6 ; 0048h (7)mov al,a AND (NOT(a-A) ; 41h (8)mov al,H OR 00100000b ; 68h (9)mov ax,(76543 LT 32768) XOR 7654h
78、0; ; 7654h3.12; 假设block开始的数据块有32个字节数据:16个正数+100 (64h),16个负数 -48 (0doh) 分别连续分布: block db 16 dup(100),16 dup(-48) ;也可以是任意字节数据,随意分布。 dplus db 32 dup(?)
79、60; ;为正数预留存储空间 dminus db 32 dup(?) ;为负数预留存储空间 count equ 32
80、0; ;字节数3.15; mydataseg segment my1b db Personal Computer my2b db 20 my3b &
81、#160; db 14h ;20h my4b db 00010100b my5w dw 20 dup(?) my6c equ 100 ;my6c = 100 my7c equ <Personal Compute
82、r> mydataseg ends3.18; 段地址:表示标号所在代码段的段地址; 偏移地址:表示标号所在代码段的段内偏移地址; 类型:引用该标号时,表示它所在同一个段near类型,还是另外一个段far类型。3.19; mydata segment ORG lO0h VARW DW l234H,5678H VARB DB 3,4 AGLIN 4 V
83、ARD DD 12345678H EVEN BUFF DB 10 DUP(?) MESS DB HELLO MOV AX, OFFSET VARB + OFFSET MESS ;AX = 4+16H = 1AH MOV AX, TYFE TYPE BUFF+TYPE MESS+TYPE VARD;AX = 1+1+4 = 06H
84、MOV AX,SIZE VARW+SIZE BUFF+SIZE MESS;AX = 4+10+5 = 19 = 13H MOV AX,LENGTH VARW + LENGTH VARD ;AX = 2+1 = 03H MOV AX,LENGTH BUFF + SIZE VARW ;AX = 10+4 =14 = 0EH MOV AX,TYPE BIGIN &
85、#160; ;AX = FF02H (近) MOV AX,OFFSET BEGIN ;AX = 1BH 3.22; 段定义伪指令
86、0; 段名 定位 组合 类别 组名 .CODE _TEXT WORD PUBLIC CODE .DATA
87、160; _DATA WORD PUBLIC DATA DGROUP .STACK STACK PARA STACK STACK DGROUP 3
88、.25; .model small .stack .data num equ 5 datalist dw -1,0,2,5,4,? .code .startup mov bx,offset datalist mov cx,num
89、; xor ax,ax again: add ax,bx inc bx inc bx loop again mov bx,ax .exit 0 end3.26; stack
90、0; segment para stack dw 512 dup(?) stack ends data segment dword array db 100 dup(?) data ends code
91、60; segment code assume cs:code,ds:data,es:data,ss:stack org 100h start: mov ax,data mov ds,ax mov es,ax mov di,offset array mov al,64h
92、 mov cx,100 cld rep stosb mov ax,4c00h int 21h code ends end start3.27;解答;xt327.asm&
93、#160; .model small .stack 256 ;定义堆栈段大小为256个字节 .data anum dd 11223344h
94、160; ;定义两个双字的数(随意) bnum dd 77553311h sum dd ? ;定义结果,执行后为:88776655h .code
95、 .startup xor si, si ;相对于变量的位移量清零 mov cx, 2 ;分高低字分别相加,共两次
96、160; clc ;清零cf again:mov ax, anumsi ;取第一个数的一个字(先低字后高字) adc ax, bnumsi ;取第二个数的一个字(先低字后高字)
97、60; mov sumsi, ax ;存和的一个字(先低字后高字) inc si ;修改位移量指向下一个字(加2) inc si loop a
98、gain ;cx=cx-1 ,if cx<>0 ,jump again .exit 0 end 3.28; .startup xor si, si
99、60; ;位移量清零 mov al, bdatasi ;取第一个数 mov cx, num-1 ;累加次数 again: inc
100、60; si ;指向下一个数 adc al, bdatasi ;累加 loop
101、60; again ;如未完,继续累加 mov sum, al ;完了,存结果 .exit 0
102、 end4.3; 思路:设这四组从低位到高位分别放在AL、BL、CL和DL寄存器中。这里仅列出代码段: mov bl, al ;将al中的两组分开 and al, 0fh
103、0; ;屏蔽高四位后送al mov cl, 4 ;原al中的数据逻辑右移4次送bl shr bl, cl mov dl, ah
104、160; ;将ah中的两组分开 and dl, 0f0h ;屏蔽低高四位后送dl mov cl, 4 ;原ah中的数据逻辑右移4次送dl
105、0; shr dl, cl mov cl, ah ;屏蔽高四位后送cl and cl, 0fh4.4; getkey: mov ah, 1 ;从键盘输入,出口:al存键值
106、0; int 21h cmp al, a ;判键值是小写字母? jb getkay
107、; cmp al, z ja getkay sub al,20h ;是小写字母转换为大写字母
108、 mov ah, 09h ;显示 int 21h4.8; (1) 将jmp tablebx指令改为:mov dx, tablebx (2) 去掉源程序中:.exit 0-end之间的语句4.17; .model small .stack 256 .d
109、ata stri1 db please input number:1-9,odh,oah,$ .code .startup again: mov dx,offset stri1 ;显示stri1,提示输入 mov ah,09h int
110、21h mov ah,01h ;调用输入一个字符 int 21h ;输入一个字符存在
111、al中 cmp al, 1 ;判该字符,如不在1-9 jb again ;重新输入
112、 cmp al, 9 ja again and al,0fh ;在1-9,屏蔽高4位 mov cx, al
113、; ;振铃次数送cx .repeat mov dl, 07h ;调用一次振铃 mov ah, 02h
114、160; int 21h mov dx ,0ffffh ;延时 abc: dec dx jnz abc .untilcxz
115、60; ;cx=cx-1,cx=0 退出 .exit 0 end4.22;crazy PROC ;crazy PROC push ax
116、0; ; xor ax,ax ; xor ax,ax xor dx,dx ; xor dx,dx a
117、gain: add ax,bx ;again: add ax,bx adc dx,0 ; adc dx,0 inc bx
118、 ; inc bx inc bx ; inc bx loop again ;
119、; loop again ret ; ret ENDP crazy ; crazy ENDP425;子程序中又调用子程序就形成子程序嵌套。 子程序中直接或间接调用该子程
120、序本身就形成子程序递归。426; .model small .stack 256 .data stdng db HeLLO eveRyboDy ! , 0 .code
121、; .startup mov bx, offset atring again: mov al, bx call chan ;调用过程 mov bx , al next
122、: inc bx jmp again done: .exit 0 chan proc ;大写转换为小写字母的过程 or al, al&
123、#160; jz done cmp al,A jb next cmp al, Z ja next
124、160; or al, 20h ret chan endp end 427;astob proc and dh, 0fh ;十位数的ASCII码转为二进制数
125、60; mov al, dh mul 10 ;al= 10*dh and dl, 0fh ;个位数的ASCII码转为二进制数
126、60; add al, dl ;al= 10*dh + dl ret astob endp51; cmp X, 5 je abc jmp done ab
127、c: cmp ax, bx jne cde jmp done cde: inc ax done:.52;cmp X, 5 je abc jmp do
128、ne cmp ax, bx jne abc jmp done abc: inc ax done: .54;宏定义采用一对伪指令实现,格式如下(其中方括号表示可选): 宏名
129、160; macro 形参表 宏定义体 endm 宏调用时,利用宏名带上实参即可,格式如下: 宏名 实参表56;宏的参数功能非常强大,即可以没有参数,也可以带有一个或多个参数;而且参数的形式非常灵活,可以是常量、变量、存储单元、指令或它们的一部分,还可以是表达式等。 宏展开时的形参与实参结合是用位置匹配的实参对形参进行取代。实参个数
130、与形参个数不同时,多余的实参没有作用,缺少的实参则用空格代替。取代时,不进行有效性等检查。57;宏汇编的特点是在汇编阶段进行语句展开,无需返回,不减少目标程序代码,执行速度没有改变;通过形参、实参结合传递参数。宏汇编适合于程序段较短或要求执行速度快的场合。 子程序在执行阶段需要由主程序执行调用指令CALL进行调用,进而转入子程序执行,子程序执行结束执行返回指令RET返回主程序。子程序如果被多次使用,则会减少目标程序代码;主程序与子程序之间主要采用寄存器、存储单元、堆栈等传递参数。子程序适合于程序段较长或为减少目标代码的场合。59;shrot word ptr
131、 bx,4,ror 1 push cx 1 mov cl,4 1 ror word ptr bx,cl 1 pop cx5.10;logical macro lcode,dopd,sopd lcode dopd,sopd
132、160; endm 例如,如果使用“and ax,bx”指令,可以利用该宏定义,写出宏指令如下: logical and,ax,bx 初看起来,这个问题似乎比较难解决。实际上,这4条逻辑指令都具有相同的指令操作数格式,所以可以归纳为如上宏定义。5.12; move MACRO doprnd,soprnd push ax
133、; mov ax,soprnd mov doprnd,ax pop ax ENDM &
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东财贸职业学院《医学统计学与流行病学》2023-2024学年第二学期期末试卷
- 商丘职业技术学院《稀有金属冶金学》2023-2024学年第二学期期末试卷
- 苏州卫生职业技术学院《珠宝玉石材料学基础》2023-2024学年第二学期期末试卷
- 长春医学高等专科学校《大数据财务分析》2023-2024学年第二学期期末试卷
- 2025年上海松江区都城企业发展有限公司招聘笔试参考题库附带答案详解
- 打造卓越酒店品牌-品牌形象与市场竞争力的策略
- 室内设计环节核心要素
- 云计算:赋能未来-理解、应用与挑战
- 知识产权保护与创新-知识产权专家演讲
- 未来出行-无人驾驶的契机-交通运输专家的演讲稿
- 《剪映专业版:短视频创作案例教程(全彩慕课版)》 课件 第5章 创作城市宣传片
- 手术分级目录(2023年修订)
- 期中 (试题) -2024-2025学年人教PEP版(2024)英语三年级上册
- 深圳市业主共有资金监督管理办法
- 雾化吸入疗法合理用药专家共识(2024版)解读
- 2024年四川省巴中市中考文科综合试卷(含答案解析)
- 2024年全国职业院校技能大赛中职组(法律实务赛项)考试题库-上(单选题)
- 欠款抵车的协议书范本
- 设备购买合同模板示例
- 抖音火花合同电子版获取教程
- 2023-2024学年人教版八年级下册数学 期末复习试题
评论
0/150
提交评论