FLDB DB ? TABLEA DW 20 DUP(?),10 DUP(0) TABLEB DB ‘ABCD’ (1) MOV AX, TYPE FLDB ;(AX)=( ) (2) MOV AX, TYPE TABLEA ;(AX)=( ) (3) MOV CX, LENGTH TABLEA ;(CX)=( ) (4) MOV DX, SIZE TABLEA ;(DX)=( ) (5) MOV CX, LENGTH TABLEB ;(CX)=( )
时间: 2023-09-11 11:12:10 浏览: 284
1. `MOV AX, TYPE FLDB` 执行后,(AX) 中存储的是 FLDB 变量的数据类型,即字节类型(1 字节)的数据,因为 FLDB 变量的定义为 `DB ?`,其中 `?` 表示未定义的数据,所以它的数据类型是未知的。因此,(AX) = 1。
2. `MOV AX, TYPE TABLEA` 执行后,(AX) 中存储的是 TABLEA 数组的数据类型,即字类型(2 字节)的数据,因为 TABLEA 数组的定义为 `DW 20 DUP(?), 10 DUP(0)`,其中 `DW` 表示定义字类型数据,所以它的数据类型是字类型。因此,(AX) = 2。
3. `MOV CX, LENGTH TABLEA` 执行后,(CX) 中存储的是 TABLEA 数组的长度,即 20 的值,因为 TABLEA 数组的定义中,`20 DUP(?)` 表示定义 20 个未知字类型数据,所以它的长度是 20 个字。
4. `MOV DX, SIZE TABLEA` 执行后,(DX) 中存储的是 TABLEA 数组占用的字节数,即 40 的值,因为 TABLEA 数组定义中,`DW 20 DUP(?), 10 DUP(0)` 表示定义 20 个未知字类型数据和 10 个字节类型数据,因此它占用的字节数为 20*2 + 10*1 = 40 个字节。
5. `MOV CX, LENGTH TABLEB` 执行后,(CX) 中存储的是 TABLEB 字符串的长度,即 4 的值,因为 TABLEB 字符串的定义为 `DB ‘ABCD’`,其中包含 4 个字符。因此,(CX) = 4。
阅读全文