Home | History | Annotate | Download | only in bios

Lines Matching refs:AX

244   mov ax,#?1
245 out dx,ax
248 mov ax,#?1
260 mov ax, ?3
261 mov ?1*4, ax
262 mov ax, ?2
263 mov ?1*4+2, ax
290 push ax
298 mov ax, 4[bp] ; segment
299 mov es, ax
300 mov ax, 6[bp] ; offset
301 mov di, ax
311 pop ax
330 push ax
340 mov ax, 4[bp] ; dsegment
341 mov es, ax
342 mov ax, 6[bp] ; doffset
343 mov di, ax
344 mov ax, 8[bp] ; ssegment
345 mov ds, ax
346 mov ax, 10[bp] ; soffset
347 mov si, ax
358 pop ax
377 push ax
387 mov ax, 4[bp] ; dsegment
388 mov es, ax
389 mov ax, 6[bp] ; doffset
390 mov di, ax
391 mov ax, 8[bp] ; ssegment
392 mov ds, ax
393 mov ax, 10[bp] ; soffset
394 mov si, ax
405 pop ax
426 mov ax, 4[bp] ; segment
427 mov ds, ax
429 mov ax, [bx]
432 ;; ax = return value (word)
451 push ax
454 mov ax, 4[bp] ; segment
455 mov ds, ax
457 mov ax, 8[bp] ; data word
458 mov [bx], ax ; write data word
460 mov ax, 10[bp] ; data word
461 mov [bx], ax ; write data word
464 pop ax
477 and ax,[di]
486 add ax,[di]
506 sub ax,[di]
534 or ax,[di]
785 Bit16u bx, dx, cx, ax;
802 Bit16u bx, filler5, dx, filler6, cx, filler7, ax, filler8;
993 #define SET_AL(val8) AX = ((AX & 0xff00) | (val8))
997 #define SET_AH(val8) AX = ((AX & 0x00ff) | ((val8) << 8))
1002 #define GET_AL() ( AX & 0x00ff )
1006 #define GET_AH() ( AX >> 8 )
1153 in ax, dx
1170 push ax
1176 pop ax
1192 push ax
1195 mov ax, 6[bp]
1196 out dx, ax
1198 pop ax
1282 mov ax, 4[bp] ; segment
1283 mov ds, ax
1305 mov ax, 4[bp] ; segment
1306 mov ds, ax
1308 mov ax, [bx]
1309 ;; ax = return value (word)
1327 push ax
1330 mov ax, 4[bp] ; segment
1331 mov ds, ax
1337 pop ax
1353 push ax
1356 ax, 4[bp] ; segment
1357 mov ds, ax
1359 mov ax, 8[bp] ; data word
1360 mov [bx], ax ; write data word
1363 pop ax
1373 mov ax, cs
1381 mov ax, ss
1581 mov ax, #0x100
1596 mov ax, #0x0
2930 mov ax, _ata_cmd_data_in.segment + 2[bp]
2939 add ax, #0x0080 ;; add 2 Kbytes to segment
2942 mov es, ax ;; segment in es
3081 mov ax, _ata_cmd_data_out.segment + 2[bp]
3090 add ax, #0x0080 ;; add 2 Kbytes to segment
3093 mov es, ax ;; segment in es
3230 mov ax, _ata_cmd_packet.cmdseg + 2[bp]
3232 mov es, ax ;; segment in es
3344 in ax, dx
3360 mov ax, _ata_cmd_packet.bufseg + 2[bp]
3361 mov es, ax
3385 in ax, dx
3830 BX_DEBUG_INT15("int15 AX=%04x\n",regs.u.r16.ax);
3993 mov ds, ax
4012 mov ax, #0x28 ;; 101 000 = 5th descriptor in table, TI=GDT, RPL=00
4013 mov ss, ax
4014 mov ax, #0x10 ;; 010 000 = 2nd descriptor in table, TI=GDT, RPL=00
4015 mov ds, ax
4016 mov ax, #0x18 ;; 011 000 = 3rd descriptor in table, TI=GDT, RPL=00
4017 mov es, ax
4025 mov ax, #0x28
4026 mov ds, ax
4027 mov es, ax
4043 xor ax, ax
4044 mov ds, ax
4073 if(regs.u.r16.ax > 0xffc0)
4074 regs.u.r16.ax = 0xffc0;
4118 BX_INFO("*** int 15h function AX=%04x, BX=%04x not yet supported!\n",
4119 (unsigned) regs.u.r16.ax
4139 BX_DEBUG_INT15("int15 AX=%04x\n",regs.u.r16.ax);
4435 BX_INFO("*** int 15h function AX=%04x, BX=%04x not yet supported!\n",
4436 (unsigned) regs.u.r16.ax, (unsigned) regs.u.r16.bx);
4480 BX_DEBUG_INT15("int15 AX=%04x\n",regs.u.r16.ax);
4496 mov ax, _int15_function32.CX [bx]
4499 mov ax, _int15_function32.DX [bx]
4611 default: /* AX=E820, DX=534D4150, BX unrecognized */
4628 // my real system sets ax and bx to 0
4631 // strangely if ax is set to 0
4632 // regs.u.r16.ax = 0;
4650 regs.u.r16.ax = regs.u.r16.cx;
4660 BX_INFO("*** int 15h function AX=%04x, BX=%04x not yet supported!\n",
4661 (unsigned) regs.u.r16.ax, (unsigned) regs.u.r16.bx);
4669 int16_function(DI, SI, BP, SP, BX, DX, CX, AX, FLAGS)
4670 Bit16u DI, SI, BP, SP, BX, DX, CX, AX, FLAGS;
4675 BX_DEBUG_INT16("int16: AX=%04x BX=%04x CX=%04x DX=%04x \n", AX, BX, CX, DX);
4706 AX = (scan_code << 8) | ascii_code;
4716 AX = (scan_code << 8) | ascii_code;
4740 // 3 0 INT 16/AX=0306h supported
4741 // 2 0 INT 16/AX=0305h supported
4742 // 1 0 INT 16/AX=0304h supported
4743 // 0 0 INT 16/AX=0300h supported
4776 AX = (scan_code << 8) | ascii_code;
4785 AX = (scan_code << 8) | ascii_code;
4795 BX_DEBUG_INT16("int16: func 12 sending %04x\n",AX);
4945 int09_function(DI, SI, BP, SP, BX, DX, CX, AX)
4946 Bit16u DI, SI, BP, SP, BX, DX, CX, AX;
5212 int13_harddisk(EHAX, DS, ES, DI, SI, BP, ELDX, BX, DX, CX, AX, IP, CS, FLAGS)
5213 Bit16u EHAX, DS, ES, DI, SI, BP, ELDX, BX, DX, CX, AX, IP, CS, FLAGS;
5223 BX_DEBUG_INT13_HD("int13_harddisk: AX=%04x BX=%04x CX=%04x DX=%04x ES=%04x\n", AX, BX, CX, DX, ES);
5621 int13_cdrom(EHBX, DS, ES, DI, SI, BP, ELDX, BX, DX, CX, AX, IP, CS, FLAGS)
5622 Bit16u EHBX, DS, ES, DI, SI, BP, ELDX, BX, DX, CX, AX, IP, CS, FLAGS;
5630 BX_DEBUG_INT13_CD("int13_cdrom: AX=%04x BX=%04x CX=%04x DX=%04x ES=%04x\n", AX, BX, CX, DX, ES);
5975 int13_eltorito(DS, ES, DI, SI, BP, SP, BX, DX, CX, AX, IP, CS, FLAGS)
5976 Bit16u DS, ES, DI, SI, BP, SP, BX, DX, CX, AX, IP, CS, FLAGS;
5980 BX_DEBUG_INT13_ET("int13_eltorito: AX=%04x BX=%04x CX=%04x DX=%04x ES=%04x\n", AX, BX, CX, DX, ES);
5989 BX_PANIC("Int13 eltorito call with AX=%04x. Please report\n",AX);
6045 int13_cdemu(DS, ES, DI, SI, BP, SP, BX, DX, CX, AX, IP, CS, FLAGS)
6046 Bit16u DS, ES, DI, SI, BP, SP, BX, DX, CX, AX, IP, CS, FLAGS;
6056 BX_DEBUG_INT13_ET("int13_cdemu: AX=%04x BX=%04x CX=%04x DX=%04x ES=%04x\n", AX, BX, CX, DX, ES);
6188 mov ax, #diskette_param_table2
6189 mov _int13_cdemu.DI+2[bp], ax
6264 mov ax,4[bp] // cylinder
6302 int13_harddisk(EHAX, DS, ES, DI, SI, BP, ELDX, BX, DX, CX, AX, IP, CS, FLAGS)
6303 Bit16u EHAX, DS, ES, DI, SI, BP, ELDX, BX, DX, CX, AX, IP, CS, FLAGS;
6308 Bit16u cyl_mod, ax;
6322 BX_DEBUG_INT13_HD("int13 harddisk: AX=%04x BX=%04x CX=%04x DX=%04x ES=%04x\n", AX, BX, CX, DX, ES);
6393 ax = head / hd_heads;
6394 cyl_mod = ax & 0xff;
6395 head = ax >> 8;
6471 mov ax, es
6472 add ax, #0x0020 ; add 512 to segment
6473 mov es, ax
6539 ax = head / hd_heads;
6540 cyl_mod = ax & 0xff;
6541 head = ax >> 8;
6611 mov ax, es
6612 add ax, #0x0020 ; add 512 to segment
6613 mov es, ax
6787 mul al, ah ;; ax = heads * sectors
6790 mul ax, bx ;; dx:ax = (cylinders -1) * (heads * sectors)
6791 ;; now we need to move the 32bit result dx:ax to what the
6795 mov _int13_harddisk.DX + 2 [bp], ax
7147 int13_diskette_function(DS, ES, DI, SI, BP, ELDX, BX, DX, CX, AX, IP, CS, FLAGS)
7148 Bit16u DS, ES, DI, SI, BP, ELDX, BX, DX, CX, AX, IP, CS, FLAGS;
7157 BX_DEBUG_INT13_FL("int13_diskette: AX=%04x BX=%04x CX=%04x DX=%04x ES=%04x\n", AX, BX, CX, DX, ES);
7503 AX = 0x0300;
7663 AX = 0x0300;
7683 AX = 0;
7766 mov ax, #diskette_param_table2
7767 mov _int13_diskette_function.DI+2[bp], ax
7844 int13_diskette_function(DS, ES, DI, SI, BP, ELDX, BX, DX, CX, AX, IP, CS, FLAGS)
7845 Bit16u DS, ES, DI, SI, BP, ELDX, BX, DX, CX, AX, IP, CS, FLAGS;
8057 push ax
8063 mov ax, _int19_function.bootseg + 2[bp]
8064 mov es, ax ;; segment
8073 mov ax, #0x0001
8074 mov _int19_function.status + 2[bp], ax
8080 pop ax
8139 mov ax, _int19_function.bootseg + 0[bp]
8140 push ax
8141 mov ax, _int19_function.bootip + 0[bp]
8142 push ax
8143 ;; Set the magic number in ax and the boot drive in dl.
8144 mov ax, #0xaa55
8164 BX_DEBUG_INT1A("int1a: AX=%04x BX=%04x CX=%04x DX=%04x DS=%04x\n", regs.u.r16.ax, regs.u.r16.bx, regs.u.r16.cx, regs.u.r16.dx, ds);
8296 regs.u.r16.ax = 0;
8493 push ax
8513 pop ax
8532 pop ax
8534 push ax
8546 pop ax
8552 push ax
8573 ;; DS, ES, DI, SI, BP, ELDX, BX, DX, CX, AX, IP, CS, FLAGS
8608 push ax
8610 pop ax
8625 mov ax, #0xfffe
8626 mov sp, ax
8627 xor ax, ax
8628 mov ss, ax
8636 mov ds, ax ;; and reset the segment to zero.
8655 mov ax, #0xfffe
8656 mov sp, ax
8657 xor ax, ax
8658 mov ss, ax
8660 ;; Start from the first boot device (0, in AX)
8663 mov IPL_SEQUENCE_OFFSET, ax ;; Save the sequence number
8664 mov ds, ax ;; and reset the segment.
8666 push ax
8687 xor ax, ax
8688 mov ds, ax
8763 // INT 76h calls INT 15h function ax=9100
8769 xor ax, ax
8770 mov ds, ax
8814 mov ax, #EBDA_SEG
8815 mov ds, ax
8825 mov (0x003d + 0x05), ax ;; write precomp word
8839 mov (0x003d + 0x0C), ax ;; landing zone word
8841 mov al, #0x1c ;; get cylinders word in AX
8848 mov bx, ax ;; BX = cylinders
8960 mov ax, #EBDA_SEG
8961 mov ds, ax
8969 mov (0x004d + 0x05), ax ;; write precomp word
8983 mov (0x004d + 0x0C), ax ;; landing zone word
8985 mov al, #0x25 ;; get cylinders word in AX
8992 mov bx, ax ;; BX = cylinders
9077 mov ax, #EBDA_SEG
9078 mov ds, ax
9081 xor ax, ax ; mov EBDA seg into 40E
9082 mov ds, ax
9097 xor ax, ax
9098 mov ds, ax
9103 xor ax, ax
9104 mov ds, ax
9111 xor ax, ax
9112 mov ds, ax
9125 and ax, ax
9147 mul al, bh ;; multiply high digit by 10 (result in AX)
9234 push ax
9236 mov ax, #0x0040
9237 mov ds, ax
9241 pop ax
9382 in ax, dx
9384 mov cx, ax
9416 mov ax, cx
9417 out dx, ax
9455 mov ax, bx
9458 or ax, di
9493 mov ax, #0x0001
9525 mov ax, #0x8602
9548 mov ax, #0x8603
9570 in ax, dx
9572 mov cx, ax
9604 mov ax, cx
9605 out dx, ax
9675 mov ax, bx
9678 or ax, di
9786 mov ax, bx
9800 mov ax, #0xc000 ;; base for i/o init
9801 push ax
9802 mov ax, #0x0010 ;; start at base address #0
9803 push ax
9809 in ax, dx
9810 cmp ax, #0xffff
9841 mov cx, ax
9842 mov ax, #0xffff
9843 out dx, ax
9844 in ax, dx
9845 cmp ax, cx
9847 xor ax, #0xfffe
9848 mov cx, ax
9849 mov ax, [bp-6]
9850 out dx, ax
9851 add ax, cx ;; calculate next free i/o base
9852 add ax, #0x0100
9853 and ax, #0xff00
9854 mov [bp-6], ax
9879 push ax
9894 pop ax
9900 mov ax, #0xf000
9901 mov ds, ax
9913 in ax, dx
9914 cmp ax, [si+12] ;; check irq router
9920 mov ax, #0x8080
9921 out dx, ax ;; reset PIRQ route control
9923 out dx, ax
9924 mov ax, [si+6]
9925 sub ax, #0x20
9926 shr ax, #4
9927 mov cx, ax
9930 mov ax, #pci_irq_list
9931 push ax
9932 xor ax, ax
9933 push ax
9941 in ax, dx
9942 cmp ax, #0xffff
9959 mov bx, ax
10006 push ax
10011 xor ax, ax
10012 mov ds, ax
10034 mov ds, ax
10035 mov es, ax
10036 mov ss, ax
10038 mov fs, ax
10039 mov gs, ax
10043 mov ax, [0x040e]
10064 mov ax, #0x28
10065 mov ds, ax
10066 mov es, ax
10067 mov ss, ax
10068 mov fs, ax
10069 mov gs, ax
10084 xor ax, ax
10085 mov ds, ax
10086 mov es, ax
10087 mov fs, ax
10088 mov gs, ax
10095 pop ax
10165 push ax
10168 xor ax, ax
10180 pop ax
10206 push ax ;; Save AX
10208 mov ax, #0x0004 ;; start with increment of 4 (512-byte) blocks = 2k
10225 push ax ;; Save AX
10233 mov ax, #0xf000
10234 mov es, ax
10250 mov ax, [bx] ;; the offset of PnP expansion header, where...
10251 cmp ax, #0x5024 ;; we look for signature "$PnP"
10253 mov ax, 2[bx]
10254 cmp ax, #0x506e
10257 mov ax, 0x16[bx] ;; 0x16 is the offset of Boot Connection Vector
10258 cmp ax, #0x0000
10263 push ax ;; Push offset
10280 mov ax, 0x1a[bx] ;; 0x1A is also the offset into the expansion header of...
10281 cmp ax, #0x0000 ;; the Bootstrap Entry Vector, or zero if there is none.
10294 mov 4[bx], ax ;; and the offset
10306 pop ax ;; Restore AX
10308 shl ax, #5 ;; convert 512-bytes blocks to 16-byte increments
10310 add cx, ax
10311 pop ax ;; Restore AX
10312 cmp cx, ax
10315 xor ax, ax ;; Restore DS back to 0000:
10316 mov ds, ax
10356 xor ax, ax
10432 mov ax, #0xfffe
10433 mov sp, ax
10434 xor ax, ax
10435 mov ds, ax
10436 mov ss, ax
10445 mov es, ax
10457 mov ax, #dummy_iret_handler
10461 mov [bx], ax
10472 mov ax, #BASE_MEM_IN_K
10473 mov 0x0413, ax
10521 xor ax, ax
10522 mov ds, ax
10551 mov ax, 0x0410
10555 mov 0x0410, ax
10560 xor ax, ax
10561 mov ds, ax
10569 mov ax, 0x410 ; Equipment word bits 14..15 determing # parallel ports
10570 and ax, #0x3fff
10571 or ax, bx ; set number of parallel ports
10572 mov 0x410, ax
10588 mov ax, 0x410 ; Equipment word bits 9..11 determing # serial ports
10589 and ax, #0xf1ff
10590 or ax, bx ; set number of serial port
10591 mov 0x410, ax
10613 mov ax, #0xc780
10659 mov ax, #0xe000
10776 xor ax, ax
10777 mov ds, ax
10836 /* no key yet, call int 15h, function AX=9002 */
10837 0x50, /* push AX */
10838 0xb8, 0x02, 0x90, /* mov AX, #0x9002 */
10840 0x58, /* pop AX */
10853 /* notify int16 complete w/ int 15h, function AX=9102 */
10854 0x50, /* push AX */
10855 0xb8, 0x02, 0x91, /* mov AX, #0x9102 */
10857 0x58, /* pop AX */
10869 push ax
10894 xor ax, ax
10895 mov ds, ax
10904 xor ax, ax
10905 mov ds, ax
10925 pop ax
10941 push ax
10967 xor ax, ax ;; segment 0000
10968 mov ds, ax
10975 pop ax
11004 xor ax, ax
11005 mov ds, ax
11052 mov ax, #0x0040
11053 mov ds, ax
11054 mov ax, 0x0013
11064 mov ax, #0x0040
11065 mov ds, ax
11066 mov ax, 0x0010
11159 mov ax, ss ; set readable descriptor to ds, for calling pcibios
11160 mov ds, ax ; on 16bit protected mode.
11166 xor ax, ax
11167 mov ds, ax
11180 xor ax, ax
11181 mov ds, ax
11195 xor ax, ax
11196 mov ds, ax