Assembly Language Help (alang.hlp) (
Table of Contents;
Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
CALL Instruction
◄Summary► ◄Key► ◄Example► ◄Up► ◄Contents► ◄Index► ◄Back►
────────────────────────────────────────────────────────────────────────────
11101000 disp (2)
─────────────────┬─────────────────────────┬────────────────────────────────
CALL label │ call upcase │ 88/86 19 (88=23)
│ │ 286 7+m
│ │ 386 7+m
│ │ 486 3
─────────────────┴─────────────────────────┴────────────────────────────────
10011010 disp (4)
─────────────────┬─────────────────────────┬────────────────────────────────
CALL label │ call FAR PTR job │ 88/86 28 (88=36)
│ call distant │ 286 13+m,pm=26+m*
│ │ 386 17+m,pm=34+m*
│ │ 486 18,pm=20*
─────────────────┴─────────────────────────┴────────────────────────────────
11111111 mod,010,r/m disp (0 or 2)
─────────────────┬─────────────────────────┬────────────────────────────────
CALL reg │ call ax │ 88/86 16 (88=20)
│ │ 286 7+m
│ │ 386 7+m
│ │ 486 5
─────────────────┼─────────────────────────┼────────────────────────────────
CALL mem16 │ call pointer │ 88/86 21+EA (88=29+EA)
CALL mem32 │ call [bx] │ 286 11+m
│ │ 386 10+m
│ │ 486 5
─────────────────┴─────────────────────────┴────────────────────────────────
11111111 mod,011,r/m disp (4)
─────────────────┬─────────────────────────┬────────────────────────────────
CALL mem32 │ call far_table[di] │ 88/86 37+EA (88=53+EA)
CALL mem48 │ call DWORD PTR [bx] │ 286 16+m,pm=29+m*
│ │ 386 22+m,pm=38+m*
│ │ 486 17,pm=20*
─────────────────┴─────────────────────────┴────────────────────────────────
* Timings for calls through call and task gates are not shown, since
they are used primarily in operating systems.
80386/486 32-bit addressing mode only.
-♦-